- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
https://github.com/dotnet/coreclr/blob/a589e3926a1780256fdb52376f8681fe047daf54/src/vm/i386/cgenx86.cpp#L1551-L1553
PAL_TRY(Param *, pParam, ¶m)
{
unsigned char buffer[16];
DWORD* dwBuffer = NULL;
DWORD maxCpuId = getcpuid(0, buffer);
if (maxCpuId < 1)
goto lDone;
dwBuffer = (DWORD*)buffer;
if (dwBuffer[1] == 'uneG') {
if (dwBuffer[3] == 'Ieni') {
if (dwBuffer[2] == 'letn') { // get SMT/multicore enumeration for Intel EM64T
С каких пор в одинарные кавычки можно писать больше одного символа? Это какое-то MSVC или что?
j123123 09.05.2018 15:55 # 0
j123123 09.05.2018 16:15 # 0
С педантиком ругается, но компилируется и работает нормально
subaru 09.05.2018 16:53 # +1
> 6) Multicharacter literal, e.g. 'AB', has type int and implementation-defined value.
Я бы конечно не стал использовать implementation-defined фичу без необходимости.
Steve_Brown 10.05.2018 12:27 # 0
yet_another_one_shit 11.05.2018 07:56 # 0
bormand 09.05.2018 18:15 # +1
Да даже в C89 эта херня уже была задокументирована.
j123123 09.05.2018 19:22 # 0
выводит 61626364 64636261
А вот такая вот хрень:
Дает в плюсах:
1
4
4
4
т.е. символьный литерал в плюсах не всегда однобайтный, но восьмибайтным он никак не становится
dm_fomenok 09.05.2018 20:04 # 0
memcpy(&b, "dcba", sizeof(b));
Alexander 09.05.2018 20:06 # 0
dm_fomenok 09.05.2018 20:10 # +1
Alexander 09.05.2018 20:12 # 0
dm_fomenok 09.05.2018 20:14 # 0
plusinho 09.05.2018 22:25 # 0
pedikulez_v2 09.05.2018 22:28 # 0
yet_another_one_shit 10.05.2018 17:40 # 0
pedikulez_v2 10.05.2018 18:27 # 0
j123123 09.05.2018 19:24 # 0
Antervis 10.05.2018 05:10 # 0
зато блин операторы +-*/ и пр. для SSE сделать видимо пипец как сложно
roskomgovno 11.05.2018 14:42 # 0
Известно что некоторая операционная система не дает программам поступа к debug регистрам: и через ptrace из никак не изменить, потому она не уязвима для CVE-2018-8897.
Однако на ней как-то работает gdb и делает watch (memory breakpoint)
Вопрос: как?
bormand 11.05.2018 18:14 # 0
roskomgovno 11.05.2018 18:26 # 0
просто в linux-то это не так.
Там в "asm/user.h" есть u_debugreg и его через PTRACE_POKEUSER ставят
bormand 11.05.2018 18:29 # 0
roskomgovno 11.05.2018 18:33 # 0
просто API у юниксообразных обычно такой:
1) дебагер берет ptrace и просит ядро писнуть в DR у дебаги
2) ядро пишет
3) ядро ловит debug exception
4) ставит дебагера в известность
Хз как DbgHelp работает у Win, но думаю что так же.
Ну вот одна OS вдруг не имеет API для установки DR* через ptrace, я и задумался как же они жвут
>>грубая сила
это же пездец как медленно, не?
bormand 11.05.2018 18:35 # 0
Всё, что эту страничку задевает, будет медленно крутиться на синглстепе. Остальной код в общем-то лагать не будет.
З.Ы. А может у них просто какое-то своё расширение ptrace для таких бряков?
roskomgovno 11.05.2018 18:56 # 0
так страница-то 4К (если не huge/large -- тогда еще больше)
я за один сраный uint32 на стеке буду страдать, ох
>> А может у них просто какое-то своё расширение ptrace
В доке не видать:)
Всё то я знаю это что
1) userspace apps can't access debug registers (инфа почти 100% ибо от кордевов)
2) gdb там умеет watch
буду смотреть сырцы, имею подозрение что они инструментят код увставляя int 3 перед mov: то-есть так же, как софтварные брекпоинты.
bormand 11.05.2018 22:55 # 0
Да не, маловероятно, каждая вторая команда же в память лезет... И мы не знаем, какая из них может задеть нужный адрес. Это будет лагать даже хуже чем мой вариант со страничками.
roskomgovno 12.05.2018 05:05 # 0
https://sourceware.org/gdb/onlinedocs/gdb/Set-Watchpoints.html
Depending on your system, watchpoints may be implemented in software or hardware. GDB does software watchpointing by single-stepping your program and testing the variable’s value each time, which is hundreds of times slower than normal execution. (But this may still be worth it, to catch errors where you have no clue what part of your program istyp the culprit.)
Короче, вот ответ: на obsd (речь шла о ней, как ты наверное догадался) хардварных брекпоинтов нет а вотчи там софтварные.
Это один из десятков примеров того что linux использует интел-специфик штуки, а бздуны лозжат на них хуй
roskomgovno 12.05.2018 05:05 # +1
https://sourceware.org/gdb/onlinedocs/gdb/Set-Watchpoints.html
Depending on your system, watchpoints may be implemented in software or hardware. GDB does software watchpointing by single-stepping your program and testing the variable’s value each time, which is hundreds of times slower than normal execution. (But this may still be worth it, to catch errors where you have no clue what part of your program istyp the culprit.)
Короче, вот ответ: на obsd (речь шла о ней, как ты наверное догадался) хардварных брекпоинтов нет а вотчи там софтварные.
Это один из десятков примеров того что linux использует интел-специфик штуки, а бздуны лозжат на них хуй
syoma 12.05.2018 12:36 # +1
yet_another_one_shit 12.05.2018 14:05 # 0
guest8 13.05.2018 18:00 # −999
vistefan 14.05.2018 10:05 # +1
roskomgovno 14.05.2018 21:47 # 0
Я просто вдруг осознал что не все умеют debug регистры (да и интел раньше не умел) и задумался как же тогда работает watch.
Про то, как делают софтварный брейк (заменяют вызов на 0xCC кторый INT 13h) я знал а как делают софтварный watch (aka data breakpoint) я не знал, ну вот оказывается сделают через пошаговое выполнение (не быстро!)
syoma 14.05.2018 23:32 # −1
roskomgovno 14.05.2018 23:33 # −1
пишешь туда адрес, и процессор вызывает прерываение когда по этому адресу обращается
https://en.wikipedia.org/wiki/X86_debug_register
syoma 14.05.2018 23:35 # −1
roskomgovno 14.05.2018 23:37 # −1
Но не все ОС это позволяют, и не все платформы.
Дебаг регистры не у всех процессоров есть
syoma 15.05.2018 20:04 # −1
guest8 15.05.2018 21:09 # −999
Alexander 15.05.2018 21:36 # 0
shit_again 18.05.2018 08:37 # −1
vistefan 18.05.2018 16:48 # 0
Где это я отвечаю сам себе?
shit_again 18.05.2018 17:00 # 0
Alexander 14.05.2018 22:07 # 0
Борманд сидит под несколькими учётками, в том числе и под этой. Когда ему становится скучно, он ведёт просветительскую работу, общаясь сам с собой.
guest8 14.05.2018 22:41 # −999
subaru 14.05.2018 22:48 # 0
subaru 14.05.2018 23:01 # 0
Значит, раньше бароп сидел под гостем и гостезаменителями.
Alexander 14.05.2018 23:23 # −2
roskomgovno 11.05.2018 19:05 # 0
3) ну еще я лично смотрел на структуру которую можно передать в ptrace: там куча регистров (даже r* есть для amd64) но вот dr* нет
инструментить можно тоже не всегда же?
если я там адрес переменной положил в int, тудасюда его помножил то уже не понятно что тот адрес значит
roskomgovno 10.05.2018 18:37 # +1
Иными словами, тебе это никогда не нужно
syoma 12.05.2018 14:56 # +1
Оператор && там не проходили?
shit_again 12.05.2018 15:50 # 0
Это тоже
shit_again 12.05.2018 17:56 # 0
shit_again 12.05.2018 15:33 # −1
Если 1 условие не выполняется, то проверять 2 других не имеет смысла, со 2-м условием то же самое. Ленивость в Си(в плюсах же тоже, да?) не завезли.
shit_again 12.05.2018 15:39 # 0
syoma 12.05.2018 16:38 # 0
syoma 12.05.2018 16:43 # +1
shit_again 12.05.2018 16:58 # 0
А я думал, что в Си такого ещё не было. И что так было всегда?
roskomgovno 14.05.2018 00:41 # 0
по крайней мере в 90х (c89?)он уже был
guest8 14.05.2018 00:46 # −999
roskomgovno 14.05.2018 01:32 # 0
pedikulez_v2 14.05.2018 03:09 # 0
roman-kashitsyn 14.05.2018 14:05 # 0
Любой DSL. У нас в одном проекте был DSL для конструирования запросов к хранилке, что-то вроде Т.е. по сути тут манипуляция AST запроса, она должна быть неленивой.
gost 14.05.2018 15:38 # 0
Куда высылать баг-репорты к бесконечному стоку Борманда? Желательно бесплатно, без регистрации, анонимно и без СМС.
https://i.imgur.com/TOxEnQS.png
j123123 14.05.2018 15:43 # 0
gost 15.05.2018 10:59 # 0
roman-kashitsyn 14.05.2018 16:03 # 0
Это я случайно Ctrl+Enter нажал, потом поправил. Пока новый коммент не появился, сток не обновился.
syoma 14.05.2018 16:08 # 0
gost 15.05.2018 10:59 # 0
roskomgovno 14.05.2018 17:35 # 0
j123123 14.05.2018 21:06 # 0
MyguJIA 25.09.2018 15:38 # 0
Самозванец!
pedikulez_v2 14.05.2018 16:13 # 0
guest8 14.05.2018 16:18 # −999
roskomgovno 14.05.2018 16:29 # −1
А всякая околокомптютерная хипстерская тусофка: там дизайнеры, блогеры, пхперы, фронтэндеры итд -- они не знают, ну им и не надо
guest8 14.05.2018 19:33 # −999
roskomgovno 14.05.2018 19:44 # 0
2) остальное вытекает из первого
guest8 14.05.2018 21:38 # −999
roskomgovno 14.05.2018 21:39 # −1
guest8 14.05.2018 21:45 # −999
Alexander 14.05.2018 22:07 # −2
roskomgovno 17.05.2018 05:17 # 0
:
написал такой мини код для проверки отклика от сокета
if (false !== ($bytes = socket_recv($sock, $buf, 2048, MSG_WAITALL))) {
echo "readed $bytes bytes from socket_recv(). close...";
} else {
echo "Dont can read becouse " . socket_strerror(socket_last_error($sock) ) . "\n" ;
}
socket_close($sock);
Получил такой вот такой странный результат
"Dont can read becouse Операция успешно завершена."
т.е. сработала ветка с не выполненным условием однако результат (ошибка) пишет что все успешно завершено
может кто то подсказать где у меня ошибка?
и еще один вопрос можно как то настроить кодировку отдельно взятой строки? (сайт на utf 8 а отклик с сокета пришел в windows 1251)
BOEVIK_IGIL 17.05.2018 07:35 # 0
roskomgovno 17.05.2018 12:33 # 0
roman-kashitsyn 17.05.2018 15:20 # 0
Donc merci beaucoup!
> можно как то настроить кодировку отдельно взятой строки?
В php.ini
guest8 17.05.2018 15:41 # −999
roman-kashitsyn 17.05.2018 18:38 # 0
Зачем? один раз запомнить, в каком файле и в какой строчке нужно сконвертировать, и добавить станцунеужели ты подумал, что я в серьёз про php.ini???
guest8 17.05.2018 18:43 # −999
roman-kashitsyn 17.05.2018 18:45 # +2
Устанавливать через менеджер пакетов, разумеется?
pedikulez_v2 15.05.2018 09:41 # −2
Нет смысла думать плохо о целом языке, ориентируясь на единичные вопросы такого уровня.
roskomgovno 17.05.2018 05:02 # +2
Найди там хоть один серьезный вопрос
Человек с ником "Фанат" в этом говноклубе тусит уже 20 лет. Он еще в 2003м там уже был за главного.
И вот он в 2017м году рассуждает в таких выражениях "Вот смотрю я на аннотации и мне кажется, что это какое-то извращение.
Но, как Василь Иваныч, нутром чую, а доказать не могу."
Заебись анализ, правда?
guest8 15.05.2018 09:51 # −999
roskomgovno 17.05.2018 04:57 # 0
а по пхп все такие
1024-- 15.05.2018 08:09 # +1
shit_again 15.05.2018 08:21 # 0
1024-- 15.05.2018 08:43 # −1
guest8 17.05.2018 10:56 # +1
CTPAIKEP 24.05.2018 23:59 # 0
nuTepcKuu_nemyx 19.07.2021 12:27 # +1
Какой багор )))
syoma 17.05.2018 15:49 # 0
guest8 17.05.2018 15:57 # +1
syoma 17.05.2018 16:11 # 0
shit_again 17.05.2018 17:53 # 0
ЗЫ. В компиляторе DigitalMars, вроде бы, есть либа gc.h и gc.dll, но я её особо не изучал.
roskomgovno 17.05.2018 16:07 # +1
syoma 17.05.2018 16:11 # +1
roskomgovno 17.05.2018 16:12 # 0
ну вот ты сидишь на сайте LAMP: Linux, Apache, PHP, MySQL.
Угадай, на чем написаны эти четыре предмета?
syoma 17.05.2018 16:29 # 0
Попробуй устроиться на работу "сишником" и расскажешь об опыте.
roskomgovno 17.05.2018 16:55 # 0
Зачем мне это сравнивать?
Довольно очевидно что джавистов больше, а пхпшников еще больше, а а пишущих на Verilog людей меньше. Что это доказывает?
>>просто этот софт ты не видишь.
Я знаю что дофига софта на джаве написано и не спорю с этим
>>Попробуй устроиться на работу "сишником" и расскажешь об опыте.
А, ну если мы сравниваем количество вакансий то ты прав конечно: си тут проигрывает. Но тогда надо говорить про JavaScript или про PHP: их будет больше.
Вообще программирование говно, потому что вакансий курьера гораздо больше, и кстати устроиться туда куда проше
syoma 17.05.2018 17:05 # +2
Ок, что там со стандартной библиотекой?
guest8 17.05.2018 17:07 # +1
pedikulez_v3 17.05.2018 17:17 # 0
roskomgovno 17.05.2018 17:17 # 0
см про курьера
>>Ок, что там со стандартной библиотекой?
ну она лучше чем у JavaScript, например
зы: я, кстати, ни разу не защищаю си: в нем говна предостаточно, но сравнивать языки разного уровня по количеству вакансий это, конечно, феерия
1024-- 17.05.2018 17:46 # +1
>
> ну она лучше чем у JavaScript, например
Это по каким критериям?
Именование - в стиле Вонни; функциональность - практически в зачаточной стадии. Консистентности нет.
OK, без f - в консоль, с f - в файл, с s - в строку:
Набор *printf/*scanf - print vs scan.
* Но! Для строк и символов - put vs get.
* Но! Строка формата ни черта не соответствует, %* в print/scan значит разное; %f для double и %d для char printf прощает.
Ладно, давайте читать символ. Мы знаем, что без f - в консоль, с f - в файл, с s - в строку.
Но строку в строку можно записать только с помощью Вонни-функции strcpy или явно с sprintf("%s"....
Хорошо, считаем из консоли/файла. Из файла всё читается как надо, а из консоли - только со срывом буфера. Разница - в одном сраном параметре.
В *scanf считать нужное количество символов можно, но нужно вкорячивать его в строку формата! В то время, как *printf умеет передавать ширины через аргументы.
Ладно, со строками не сложилось. Ну хоть символ-то можно считать без пердолинга.
Итак, без f - в консоль, с f - в файл:
ЧИВО? Вы издеваетесь? А как считать из консоли?
getchar.
До какого символа считывается строка? *scanf - до пробельного, fgets - до конца буфера или \n, gets - до срыва буфера. Консистентность есть? Нет. Настраиваемость? Нет.
Регулярки? Нет, только диапазон символов в *scanf.
Строки? Набор Вонни-функций для пердолинга памяти.
Массивы может есть? Нет, только набор Вонни-функций для пердолинга памяти плюс ручная передача размера.
И это лучше, чем в JS? В каком подвале Вас держат сишники, дайте нам знак?
shit_again 17.05.2018 20:51 # 0
Так printf не знает какого типа значения ему были переданы.
> Из файла всё читается как надо, а из консоли - только со срывом буфера
Никто не запрещает читать с консоли fgets'ом, а gets вообще не рекомендуется использовать.
> В *scanf считать нужное количество символов...
fgets, fread
> До какого символа считывается строка?
Если не нравится, читай посимвольно
> Набор Вонни-функций для пердолинга памяти.
Си для этого и создан.
Да, библиотека говно. Но есть ли у кого-то лучше? (для тех же целей) Rust? Go? (мне кажется, что говном можно полить всё, что угодно)
syoma 17.05.2018 21:38 # 0
А в чем, кстати, проблема сделать макрос?
>> Набор Вонни-функций для пердолинга памяти.
>Си для этого и создан.
Так я это и пытаюсь втолковать человеку.
guest8 17.05.2018 22:12 # −999
roskomgovno 18.05.2018 22:14 # 0
да, говнецо
а напомни мне пожалуйста как кросс-платформенно вывести что-то в stderr в javascript?
1024-- 19.05.2018 17:12 # 0
Работает практически везде.
Ещё можно
в Node.js, и будет кроссплатформенно. Node.js работает на большой тройке ОС и вроде ещё в андроиде.
roskomgovno 26.05.2018 17:07 # 0
и завешает работу программы
впорос был как написать что-то в сдтерр
>>в Node.js,
нод джс это всего лишь одна реализиация
а вот под WSH не сработает: там надо по-другому писать
и под asp classic тоже
потому что спецификации языка такой функциональности нет
а в си есть)
1024-- 26.05.2018 21:59 # 0
Уж лучше, когда где-то конкретно, но работает как надо, чем работает везде, но коряво (с ID, UB, переменными неизвестного размера).
> впорос был как написать что-то в сдтерр
process.stderr.write
Работает, пишет.
И регулярки без смс и регистрации работают.
roman-kashitsyn 17.05.2018 18:42 # 0
лолчто
Стандартная сишная либа это просто эталон пиздеца. Попробуй перечислить файлы в каталоге кроссплатформенно, ага.
guest8 17.05.2018 18:46 # −999
guest8 17.05.2018 20:45 # −999
guest8 17.05.2018 20:46 # −999
guest8 17.05.2018 20:54 # −999
guest8 17.05.2018 21:16 # −999
syoma 17.05.2018 21:38 # 0
roskomgovno 17.05.2018 22:30 # 0
bormand 17.05.2018 22:31 # +1
Кинуть HTTP запрос к серваку и готово.
roskomgovno 17.05.2018 22:36 # 0
Кстати, а как кросс-платформенно кинуть стандартный запрос к HTTP серверу?
syoma 17.05.2018 21:36 # +1
>языки разного уровня
Так я тебе и говорю, что си - низкоуровневое говно, за пределами драйверов практически не нужное.
bormand 17.05.2018 22:23 # 0
Да и в пределах драйверов его юзают в основном по традиции.
syoma 17.05.2018 22:24 # 0
bormand 17.05.2018 22:26 # 0
roskomgovno 17.05.2018 22:35 # 0
Виртуальные методы? Шаблоны?
bormand 17.05.2018 22:39 # −1
Не смешно. Посмотри сколько структурок-с-указателями в том же ядре линукса.
> Шаблоны
Вай нот?
Да и RAII ещё никому не повредило.
guest8 17.05.2018 22:41 # −999
roskomgovno 17.05.2018 22:43 # −1
Да, это тот самый "ооп без ооп". Ты вкурсе же что Линус думает про С++, кстати?
>>Вай нот?
Окей, C vs C++ это другая тема, у меня нет тут strong opinion потому что таки да: почти все, написанное на си, можно заменить на плюсы (кроме vla и еще там всяких void * без кастов).
Я возбудился изначально на заявление что си не нужен, и давайте писать всё на JavaScript и PHP.
pedikulez_v3 17.05.2018 22:47 # +1
Кого ебёт, что думает Линус?
roskomgovno 17.05.2018 22:51 # −1
Меня ебет что думает pedikulez_v3 и syoma.
syoma 17.05.2018 22:56 # −1
roskomgovno 17.05.2018 23:04 # −1
В листке из бухгалтерии у меня написана только общая сумма. Там не сказано какой процент из нее приходится на использование каждого из языков или технологий, с которыми я сталкиваюсь.
syoma 17.05.2018 23:08 # −1
roskomgovno 17.05.2018 23:13 # −1
Не очень понятно причем тут я, конечно: у меня есть коллеги которые пишут на С++ довольно много, при том что ваканский на JavaScript куда больше. Вот же странные люди
syoma 17.05.2018 23:15 # −1
Ох блядь. Я бы не сказал, что знаю C, но с этим бы и я справился.
>пишут на С++
Мы же про C? Сколько на нем пишут?
roskomgovno 17.05.2018 23:18 # −1
То-есть С++ это не низкоуровневное говно? Только С низкоуровневое говно?
guest8 17.05.2018 23:16 # −999
syoma 17.05.2018 23:17 # −1
pedikulez_v3 17.05.2018 23:17 # 0
roskomgovno 17.05.2018 23:21 # −1
Это очень интересно. Возможно, скоро окажется что еще есть интересные проекты и интересные области, и замаячит на горизонте крамольная мысль что кроме разработки вебсайтов на ангуляре есть еще другие виды деятельности, и некоторые люди ими тоже занимаются.
syoma 17.05.2018 23:26 # 0
pedikulez_v3 17.05.2018 23:03 # +1
Собственно говоря, сарказм не в жилу. Мнение конечных пользователей должно ебать больше, чем мнение причастных к истокам и навязывающих своё видение с высоты своего положения. К примеру, сейчас всем навязывают нахуй никому не сдавшиеся SSL-сертификаты под угрозой исключения из поисковых систем и присвоения пугающих значков, но это не значит, что все автоматически возлюбили весь этот воздух лишь потому, что так сказал великий "Google".
roskomgovno 17.05.2018 23:05 # −1
syoma 17.05.2018 23:08 # −1
roskomgovno 17.05.2018 23:09 # −1
pedikulez_v3 17.05.2018 23:11 # 0
Именно. Потреблять-то эти языки наёмным программистам, а не quasi умным мужикам, случайно оказавшимся в нужном месте в нужное время (твой Линус вполне мог бы мыть унитазы в "Mc'donalds").
roskomgovno 17.05.2018 23:23 # −1
>>твой Линус
Он не мой, и я не согласен с его критикой C++.
Однако же если выбирать между мнением педикулёза и торвальса, то я боюсь что мнение последнего окажется для меня более интересным. Может быть я предвзят.
pedikulez_v3 17.05.2018 23:26 # 0
Ну, да, про него ведь есть статья в "Википедии".
1024-- 18.05.2018 04:01 # −1
Блджад! Ну охренеть объективный научный подход подход.
На самом деле, мнения педикулёза и торвальса одинаково важны. Оба этих мнения можно выбросить в мусорку, если они без нормальных аргументов, а мы не собираемся устраиваться к ним на работу. Каждое из этих мнений необходимо анонимизировать и прочитать вместе с аргументами не зная, кто его написал, чтобы авторитеты не заслоняли истину.
roskomgovno 18.05.2018 22:25 # 0
Например: Борманд считает что большинство лоу-левел кода можно переписать с си на си плюс плюс. Это умножается на тот факт, что у Борманда есть опыт с лоу-левел кодом и си плюс плюс, и потому его мнение мне интересно.
Кое-кто другой, никогда в жизни не работавший ни в каком проекте, где используется С или С++, и ни один из эти языков не знающий, сообщает мне что си это ненужное говно потому что по нему "меньше вакансий", а в те проекты, где си используется "нас всех все равно не возьмут".
Такое мнение для меня гораздо менее ценно.
syoma 18.05.2018 22:28 # +1
roskomgovno 18.05.2018 22:37 # 0
Какие "объективные показатели"? Количество вакансий на hh.ru?
Я тебе еще раз говорю что во-первых на первом месте там будет PHP, во-вторых больше всего вакансий там будет вообще не программистских.
syoma 18.05.2018 22:40 # +1
roskomgovno 18.05.2018 22:47 # 0
На самый худой конец можно выбрать фирму или проект, в которые ты хочешь попасть, и посмотреть что они используют.
Выбирать язык по количеству вакансий в Интернете я считаю неправильным, потому что иначе всем придется идти писать на 1с.
вот hh.ru за Москву:
14 971 вакансия «1с»
1 867 вакансий «java»
1 316 вакансий «php»
1 101 вакансия «c++»
syoma 18.05.2018 22:49 # +1
roskomgovno 18.05.2018 22:51 # 0
По ним языки ранжированы так: 1С, Java, PHP, C++.
Значит-ли это C++ ненужное говно, PHP более нужное, а 1С это самый нужный и полезный язык?
syoma 18.05.2018 22:53 # 0
syoma 18.05.2018 23:09 # 0
Хочешь писать прикладные программы? Смотри C# как минимум. Ой, что, отсосала твоя сишка?
syoma 19.05.2018 18:34 # 0
guest8 19.05.2018 18:44 # −999
syoma 19.05.2018 21:57 # 0
lal3 19.05.2018 22:07 # 0
1024-- 19.05.2018 17:17 # 0
Значит.
Это значит, что C++ - сложное почти ненужное говно, которое никто не осилил, программа на котором будет стоить заказчики таких денег, за которые можно раз в полгода нанимать школьника, который напишет то же самое на PHP. Да, будет говнокод, но зато можно каждые полгода полностью менять требования, что в случае с C++ вылетит в копеечку.
roskomgovno 17.05.2018 23:08 # −1
TLS
>> под угрозой исключения из поисковых систем
Это не правда
>> нахуй никому не сдавшиеся
Конечно же сдавшиеся, особенно если на сайте есть личный кабинет
syoma 17.05.2018 23:18 # −1
>Это не правда
В ранке гугля понижает
syoma 17.05.2018 23:16 # −1
С другой стороны, использование TLS почти ничего не стоит ни в плане вычресурсов, ни в плане затрат времени.
guest8 17.05.2018 22:53 # −999
roskomgovno 17.05.2018 22:59 # −1
http://www.azquotes.com/quote/1118318
syoma 17.05.2018 23:09 # −1
roskomgovno 17.05.2018 22:25 # 0
Ты не поверишь, но прекрасно можно построить объектно-ориентированные API без ООП.
>>, за пределами драйверов практически не нужное
никакой язык не нужен, любой из них можно заменить на другой
syoma 17.05.2018 22:28 # 0
>пук
Принеси мне области применения C, наконец уже.
roskomgovno 17.05.2018 22:35 # 0
>>Принеси мне области применения C,
Я наверху привел: операционные системы, базы данных, веб-сервера, интерпретаторы языков.
syoma 17.05.2018 22:53 # 0
Низкоуровневое говно. Туда же дрова.
>базы данных, веб-сервера, интерпретаторы языков.
Мизерный спрос.
roskomgovno 17.05.2018 22:56 # 0
>Низкоуровневое говно. Туда же дрова.
По какому принципу ты определяешь что говно, а что нет?
Почему вебсайты не говно, а операционные системы говно?
>>Мизерный спрос.
Да, спрос меньше чем на JavaScript или 1С.
Я вроде с этим не спорил
syoma 17.05.2018 23:10 # +1
Спрос меньше чем на любой другой язык: жава, c# итд
roskomgovno 17.05.2018 23:24 # 0
syoma 17.05.2018 23:25 # 0
roskomgovno 17.05.2018 23:26 # +1
Си низкоуровневое говно, javascript выскоуровневое говно.
В целом программирование это говно
syoma 17.05.2018 23:38 # +1
guest8 17.05.2018 23:27 # −999
pedikulez_v3 17.05.2018 23:31 # 0
semens 17.05.2018 23:45 # 0
roman-kashitsyn 18.05.2018 22:13 # 0
тоже говно, просто воняет не так сильно.
syoma 17.05.2018 23:13 # +1
Тогда C - это что-то вроде совковой ракеты, которая еще каким-то чудом летает в космос, но скоро придет маск, который обвалит цены и она отправится на помойку истории.
roskomgovno 17.05.2018 23:25 # 0
Когда API операционок и популярный софт перейдут на раст, можно будет отправить си туда же, куда уже отправился паскаль.
Но пока что этого не произошло
1024-- 18.05.2018 04:03 # 0
Староверы.
1024-- 17.05.2018 17:58 # +1
Что программы на джаве писать легче, эффективней и выгодней для бизнеса, а на пхп - ещё дешевле и эффективней, а Verilog почти никому не нужен?
Делали языки (те, на которых реально пишут) не для демонстрации в музеях, а для работы. Если PHP бьёт рекорды, значит это как раз таки самый годный язык, который на практике лучше работает, а для других языков придётся долго учиться (5+ лет для Hello, world на C++), и ту же программу писать сложнее и дороже.
Или будем сравнивать языки по бесполезным теоретическим критериям вроде средней научной степени программиста?
Или назовём те языки, где нужно много пердолиться - хорошими? Чтобы чувствовался труд программиста, а не какая-то питонная фигня с вызовом пары функций, которые делают больше, чем тысяча строк кода на C. Тогда malbolge - идеальный язык.
shit_again 17.05.2018 18:53 # 0
pedikulez_v3 17.05.2018 18:59 # 0
shit_again 17.05.2018 19:08 # +2
guest8 17.05.2018 19:58 # +1
1024-- 17.05.2018 19:15 # 0
syoma 17.05.2018 22:52 # 0
1024-- 18.05.2018 04:03 # 0
roskomgovno 17.05.2018 22:58 # 0
1024-- 18.05.2018 04:04 # 0
(Конечно, в задачах, где нужен именно Верилог и где по каким-то причинам *ХДЛ нельзя использовать, Верилог будет на первом месте, но искусственные топы никого не волнуют.)
roskomgovno 18.05.2018 22:17 # 0
Мне не очень интересна средняя температура по больнице.
Для меня это всё равно что сравнивать профессии по популярности. Самая популярная профессия далеко не программист;)
Думаю что больше всего людей, называющих себя "программист" в моем городе пишут на PHP и 1С.
Это не значит что мне нужно срочно переквалифицироваться в 1С программисты.
1024-- 19.05.2018 17:23 # +2
Выходит книга рекордов Пиваса, где каждый первый - победитель. Один стометровку быстрее всех пробежал на ходулях с собакой на руках (потому, что никто больше такой хренью не страдал), другой - плюнул с трёх метров в тарелку с изображением лесов Австралии.
> Это не значит что мне нужно срочно переквалифицироваться в 1С программисты.
Конечно, не значит. Это значит, что 1C более востребованный, чем всякие бесполезные сиплюсы и хаскели, сколько бы пейсатели на них ни кукарекали.
syoma 19.05.2018 18:36 # 0
Сук :)))
РКГ, ты ответь на такой вопрос: вот сидит какой-нибудь стертор на делфи. Вот ты сидишь на си. Чем ты его лучше?
roskomgovno 26.05.2018 17:09 # 0
я не понимаю что такое "сидеть на языке". Я использую более одного языка
IGIL 26.05.2018 20:03 # 0
roskomgovno 26.05.2018 17:09 # 0
чем javascript тоже, например (см пример с вкансиями)
1024-- 26.05.2018 22:03 # 0
syoma 17.05.2018 21:34 # 0
Это же мечта пердолика. Поэтому у них и перл хороший, хотя вот это дейстительно говнище из прошлого века.
roskomgovno 17.05.2018 22:28 # 0
нет, это значит что задач для бизнеса, которые проще решить на PHP больше, чем задач которые проще решить на C.
Есть бизнес написания операционных систем.
Есть бизнес написания вебсайтов.
Есть бизнес продажи гамбургеров.
Мы смотрим на вакансии, узнаем что гамбурегов требуется больше, чем операционных систем, и на основе этого делаем вывод что операционные системы не нужны.
>>Или будем сравнивать языки по бесполезным теоретическим критериям
Языки нужно сравнивать с учетом конкретной задачи, иначе это сравнение бессмысленно.
Разумеется, вебсайт лучше написать на PHP чем на ассмеблере.
Разумеется, загрузчик в MBR лучше написать на ассемблере, чем на PHP.
syoma 17.05.2018 22:30 # 0
Ну! А какие задачи проще решить на C?
>нет, это значит что задач для бизнеса, которые проще решить на PHP больше, чем задач которые проще решить на C.
Нужны, но писать за деньги тебе их не дадут. Без тебя разберутся.
roskomgovno 17.05.2018 22:39 # 0
Тебе правда еще раз перечислить? Ты кащенит может быть?
>>Нужны, но писать за деньги тебе их не дадут. Без тебя разберутся.
Вот с этого и надо было начинать: си используется в тех проектах, куда тебя не берут, а PHP в тех, куда тебя берут.
Потому разумеется для тебя PHP более ценен чем си.
syoma 17.05.2018 22:52 # 0
>куда тебя не берут
И тебя тоже.
>для тебя
То же самое.
Это реинкарнация кого? Кегдана?
roskomgovno 17.05.2018 22:57 # 0
Твоя позиция мне ясна.
syoma 17.05.2018 23:12 # +1
>области, в которых не разбираешься ты называешь "ненужным говном".
Технологии, на которые нет спроса, я называю ненужным говном. Я понятия не имею как ты пришел к своему выводу. Наверно, тебе просто очень хотелось к нему прийти.
roskomgovno 18.05.2018 22:18 # 0
Каким образом ты определяешь спрос?
syoma 18.05.2018 22:20 # +1
1024-- 18.05.2018 04:12 # 0
Но ведь так и есть! Только соль в том, что надо было добавить слово "новых".
Мы смотрим на вакансии, узнаем что новых гамбурегов требуется больше, чем новых операционных систем, и на основе этого делаем вывод что новые операционные системы не нужны.
Один гамбургер нельзя перепродать миллионам покупателей, поэтому свежие гамбургеры всегда нужны. ОС можно сделать один раз и продавать всем.
> Языки нужно сравнивать с учетом конкретной задачи, иначе это сравнение бессмысленно.
Тогда языки становятся эквивалентными, ведь для каждого языка можно выдумать конкретную задачу. С помощью HQ9+ можно эффективно и кратко решить четыре задачи, в которых этот язык будет лучше всех. И что теперь? Это как американская толерантность, где в компании обязательно нужен один сишник, один жсник, один брейнфаковец и один прогарммист HQ9+, иначе нетолерантно.
Если сравнивать, то интегрально - по набору задач и с учётом эффективности.
Язык решает одну задачу, но идеально - годный язык.
Язык решает десяток задач, но хорошо - годный язык.
Язык решает нормально тысячи задач - годный язык.
Язык решает только одну задачу - говно.
Язык решает тысячи задач кучей кривого кода - говно.
roskomgovno 18.05.2018 22:21 # 0
нет, к сожалению ОС нужно поддерживать
>>Тогда языки становятся эквивалентными,
еще раз: надо плясать от задачи
Сначала выбирается проект, затем под него выбираются языки.
Платят же не за использование языка, а за создание проекта.
>>Язык решает только одну задачу - говно.
Не говно, если других языков для этой задачи нет.
С, кстати, решает более одной задачи: он используется более чем в одной области.
1024-- 19.05.2018 17:33 # 0
Да. И, соответственно, выбирается самый уместный язык под задачу. Берём большую долю реальных задач и смотрим, какие языки хорошо подходят. В итоге получаем список самых удобных в использовании языков для реальных задач.
Всякие единичные и редкие задачи в расчёт не берём потому, что (а) соответствие язык-задача для них статистически мало значит и (б) опыт таких проектов практически нельзя воспроизвести, там требуются люди, знающие 100500 разных языков (для которых не важно их сравнение), дело там не в конкретных языках, а в постановке задачи, архитектуре, расчётах, разведывании пути, по которому пойдёт проект.
>>Язык решает только одну задачу - говно.
> Не говно, если других языков для этой задачи нет.
На то был первый пункт:
>> Язык решает одну задачу, но идеально - годный язык.
Если язык решает одну задачу и не делает это идеально, то это не просто говно, это жуткое говнище. От универсальной питушни можно ожидать среднего уровня, но специализированный инструмент либо делает свою задачу качественно, либо выбрасывается к хренам.
shit_again 17.05.2018 16:59 # 0
1024-- 17.05.2018 18:01 # 0
> Угадай, на чем написаны эти четыре предмета?
Да хоть на XML. В позапрошлом веке книги вообще при свечах писали пером. Технологии, проверенные временем.
Чего комментарии на новомодном ПК строчите, давайте пером пишите.
pedikulez_v3 17.05.2018 18:03 # 0
guest8 17.05.2018 19:06 # +1
1024-- 17.05.2018 19:13 # 0
Но если решим писать новые - посмотрим, на чём пишут серверы сейчас.
syoma 17.05.2018 21:33 # 0
roskomgovno 17.05.2018 22:40 # 0
1024-- 18.05.2018 04:14 # 0