1. C++ / Говнокод #14760

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #include "server.h"
    
    const server::CServer s(8085, 1111);
    
    int main() {return 0;}

    http://habrahabr.ru/post/213301/
    От автора http://govnokod.ru/14526

    >И еще на мой взгляд, функция main() — атавизм, доставшийся программистам от СИ. В С++ она лишняя. Но компиляторы пока этого не знают к сожалению.
    >Но я решил «наказать» эту ненужную функцию, отобрав у нее возможность что-либо сделать — изменил файл serv.cpp следующим образом

    Запостил: WGH, 21 Февраля 2014

    Комментарии (194) RSS

    • >хотя клиент для Windows у них, на мой взгляд, ужасен.

      Windows в принципе ужасен, но кого это ебет?.
      Ответить
    • Кто считает, что строчки
      const char on = 1;
      setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) );

      помогут избежать ошибки «Address already in use» при аварийном перезапуске сервера — жестоко ошибаются. Не помогут.


      Почему?
      Ответить
      • показать все, что скрытоЛакни мои яйца.
        Ответить
      • Не знаю, спроси у "bormand"-а. Он должен знать.
        Ответить
      • Очевидно потому, что порт может быть занят другим процессом в данный момент
        Ответить
        • Каким другим процессом? Если сервер крашнулся, то он перезапускается. Имеется в виду, что порт может быть занят только им.

          > при аварийном перезапуске сервера
          Ответить
          • Что мешает другому процессу влезть в порт в этот момент?
            перезапуск сервера --- задача не атомарная, так-то

            Пидоттеринг кажется решает такое: там порт слушает systemd, и пепредает его прцоессу. Системд порт не теряет.
            Вот пидоттеринг молодец!

            Ой, я перепутал, `inetd` умел это делать, когда поцтеринг еще у папке в яйцах сидел, и в линукс не срал. Или я не прав?
            Ответить
            • А нахуя номер порта динамическим делать?

              Я номера портов в конфигах зашиваю и знаю что на каком порту поднято.

              Исключение — тесты. Потому что тестов много может параллельно идти.
              Ответить
              • Причем тут динамический номер?
                Чувак кильнул твой процесс, и пока он валяется -- запустил другой на том же самом порту.

                Менять порт динамически это пидорство, конечно. RPC в винде так делает (rpc mapper) и еще некоторые другие ОЧЕ СТАРЫЕ питухи, за что их ненавидят админки, и настраиватели файрволлов: тридцать пять лет назад это считалось ок.
                Ответить
                • > и пока он валяется -- запустил другой на том же самом порту

                  Ну это пидорство, конечно. Потому на моих серверах такой хуйни нет.
                  Ответить
                  • Это правда.

                    Я стараюсь левым хакерам всё таки терминальный доступ на свои продакшен сервера не давать
                    Ответить
                    • Microsoft умеет сесть на два стула сразу: и с пиками, и с хуями.
                      С одной стороны у них "By default, RPC uses ports in the ephemeral port range (1024-5000)", а с другой http.sys в ядре слушает порт 443 и шарит подключение между процессами.

                      Ну не говноеёбы-ли?
                      Ответить
      • Сам себе ответил?
        Ответить
    • показать все, что скрытоЛакни мои яйца.
      Ответить
    • показать все, что скрытоЗасрал пост минусами.
      Ответить
    • Зато в "Си" я точно знаю, откуда начнётся выполнение программы. Именно поэтому я за "Си".
      Ответить
      • Это только если слинковать с библиотекой, в кококококоторой точка входа после инициализации вызывает функцию «main» (в «gcc» это делает модуль «crt1.o»).

        Линкуешь с другой библиотекой, и у тебя вместо main() при старте вызовется что-нибудь ещё.
        Ответить
      • Не точно.
        http://www.hexblog.com/?p=9
        Ответить
        • Как всё сложно... Именно поэтому я за «DOS».
          Ответить
        • показать все, что скрытоvanished
          Ответить
          • Есть порт «pthreads» для «DOS», но он работает внутри приложения, снаружи процесс один.

            Есть «multitasker» в «DR-DOS», но он изолирует программы друг от друга, а запуск всегда происходит с точки входа.

            По идее треды должны существовать в «Concurrent DOS» и в «European MS-DOS», но эти системы не получили распространения.
            Ответить
          • Говно твой дос. Помню, какой был трэш, когда только-только появился Visual Basic... MessageBox подвешивало ОС, которая ждала реакции пользователя, потом управление передавалось обратно в систему...
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • В третьих, пошёл на хуй.
                Передай тем, кто тебя плюсует, что возможно они даже в глаза не видели VB 1.0, а я видел. Я кодил под дос (разумеется, лишь в целях расширения кругозора, ибо бейсик мне нахуй не всрался). Там УЖЕ пахло зачатками винды, но как говорится, "хочу да не могу".
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                • В чём заключалось подвешивание? В том, что MessageBox –— это модальное окно, поэтому другие окна «Вижуалбарсика» недоступны, пока не закроешь это?
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Я написа́л совершенно серьёзно, безо всякой иронии. Модальные окна были и в «Turbo Vision» (и в «Трубопаскакале», и в «Бройлер Си++»), причём работали они так же.

                      И в MDI (multiple document interface) в «Windows» ты также не можешь пользоваться дочерними окнами приложения, пока не закроешь модальное. Все окна в «VB for DOS» и в «Turbo Vision» –— это по сути MDI: окошек много, а приложение одно.

                      Если нужно немодальное окно, то нужно отказаться от MessageBox и лепить своё окошко. Так задумано.
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • Ну так я не только для тебя пишу, а для всех. Скорее даже надеюсь, что Стертор обратит внимание на мой комментарий и что-нибудь ответит. Хочу понять, где он запутался. Может быть, он не разобрался в модальности?

                          А то погромисты обколются своей марихуаной и открывают модальные окна на каждый чих, а у меня из-за них комп висит.
                          Ответить
                • Раз начал, договаривай. Что кокококонкретно подвешивалось? Часики в BIOS останавливались? Светодиод «Caps Lock» не мигал при нажатии на соответствующую клавишу? Мышиный курсор не ездил?
                  Ответить
                  • А что мне вам договаривать, если вы всё свалили в одну кучу? Нечего мне ответить.

                    p.s. виндявый мессагебокс далеко не модальный (если намеренно не поебаться с флагами). Модальный он только в досе, ибо там псевдоокна и нет ни з-порядка.
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • Я сейчас ем отличный жаренный картофель с салатом и капусты, сбрызнутым уксусом и заправленным майонезом. А ты причитай и наслаждайся расхлёбыванием геркулеса в моей голове. А остатки петух доклюёт.
                        Ответить
                    • В ДОСе вообще окон нет. Окна рисуют сами программы.

                      Я уже выше написа́л: «VB for DOS» и «Turbo Vision» создают не графическую операционную систему a la Windows, а одно приложение с подобием MDI (multiple document interface), поэтому MessageBox блокирует взаимодействие пользователя со всеми окнами. Так задумано.

                      Если не хочешь блокировать, открывай не MessageBox, а специальное окно.
                      Ответить
                      • @Если не хочешь блокировать, открывай не MessageBox, а специальное окно.

                        Я вёл речь токмо о visual basic for dos. О том, как убого выглядело псевдоокно созданное msgbox.

                        кстати. судя по упоминанию большого количества ячневой крупы в моей черепной коробке, гуест8-у невдомёк, что msgbox - обычное виндоклассное окно, которое может не иметь владельца.
                        Ответить
                        • Я люблю кашу. Она такая, гм, густая, жидкая полезная!
                          Ответить
                          • Накормил тебя гречневой кашей, проверь.
                            Ответить
                      • показать все, что скрытоvanished
                        Ответить
                    • > p.s. виндявый мессагебокс далеко не модальный (если намеренно не поебаться с флагами). Модальный он только в досе, ибо там псевдоокна и нет ни з-порядка.

                      В винде он тоже модальный, просто ты первым параметром NULL передаёшь, а надо — HWND твоего окна. Кури MSDN: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-messageboxw .
                      Ответить
                      • мессагебокс может не иметь владельца, ноль вполне можно передать (кстати, константа HWND_DESKTOP как раз равна нулю) В этом случае основным окном будет рабочий стол.

                        Кэп?
                        Ответить
                        • Можно, но это никак не отменяет того факта, что в винде MessageBox «Displays a modal dialog box [...]».
                          Ответить
                          • Модальным оно будет только если первым аргументом будет предложение провести вместе ночь хэндл гълавногъо (слухового) окна твоей говнопроги.
                            Ответить
                            • показать все, что скрытоГлядите-ка, ж-ж-жиголо умничает... Хах! Я-то считал, что ты лишь порхаешь, как бабочка, с пестика на пестик, а ты ещё и кодингом интересуешься... Респект!
                              Ответить
                            • >>> p.s. виндявый мессагебокс далеко не модальный (если намеренно не поебаться с флагами). Модальный он только в досе, ибо там псевдоокна и нет ни з-порядка.
                              С флагами ебаться не надо; модальный он не только в досе.
                              Ответить
                              • @С флагами ебаться не надо; модальный он не только в досе.

                                Будет ли он модальным, если приложение не имеет главного окна?

                                С флагами не ебёмся - сам сказал. Последний параметр ==0.
                                Ответить
                                • Воспользуюсь определением из «Википедии»:
                                  Модальное окно в графическом интерфейсе пользователя — окно, которое
                                  блокирует работу пользователя с родительским приложением до тех пор, пока
                                  пользователь это окно не закроет.

                                  Если приложение не имеет главного окна — какую именно работу с приложением должно заблокировать модальное?

                                  Можно ебануться, в принципе:
                                  int main()
                                  {
                                      int pituh = 0;
                                  
                                      std::cout << "Vvedite pituha: ";
                                      MessageBoxW(NULL, L"Modalnoe?", L"MessageBox", 0);
                                      std::cin >> pituh;
                                      std::cout << "Vvedennyj pituh: " << pituh << std::endl;
                                  
                                      return EXIT_SUCCESS;
                                  }

                                  До тех пор, пока диалоговое не будет закрыто, ввести в появившееся чёрное окно ничего будет нельзя, работа пользователя с родительским приложением успешно заблокирована, в флагах — 0, да даже родительское окно не задано.
                                  Ответить
                                  • Возможно, у Вас какие-то неправильные си либо у меня неправильный пасцаль, но этот код работает:
                                    program Project1;
                                    
                                    {$APPTYPE CONSOLE}
                                    //
                                    Строго говоря, консоль не попадает под определение окна. Я хз, зачем был привёдён такой пример.
                                    uses
                                      Windows, SysUtils;
                                    
                                    begin
                                     MessageBox(0,'','',0);
                                     ReadLn;
                                    end.

                                    Я лишь хотел показать, что утверждение "messagebox - модальное окно" не всегда верно.
                                    Ответить
                                    • Беседа всё отчётливее напоминает троллинг...
                                      Ответить
                                    • Видимо, наши определения термина «модальное окно» отличаются. В моём понимании, у приложения без главного окна в принципе нельзя создать модальное — просто потому, что модальное окно должно блокировать взаимодействие пользователя с программой, а если пользователю не с чем взаимодействовать — то и смысл модальности пропадает.
                                      Ответить
                                    • Между прочим, в гуёвых делфепрогах всегда есть окно верхнего уровня, по имени Application; оно - как жопа, из которой растут ноги. Из-за него Z-order часто выстраивается неправильно.
                                      Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • Верно, можно крутить цикл с GetMessage.
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • @Сообщения посылаются окнам, стертор:)
                                              @Если нет окна -- некому и событие посылать.


                                              Я просто оставлю это здесь.

                                              BOOL GetMessage(
                                              LPMSG lpMsg,
                                              HWND hWnd,
                                              UINT wMsgFilterMin,
                                              UINT wMsgFilterMax
                                              );

                                              Parameters

                                              lpMsg

                                              Type: LPMSG

                                              A pointer to an MSG structure that receives message information from the thread's message queue.

                                              hWnd

                                              Type: HWND

                                              A handle to the window whose messages are to be retrieved. The window must belong to the current thread.

                                              If hWnd is NULL, GetMessage retrieves messages for any window that belongs to the current thread, and any messages on the current thread's message queue whose hwnd value is NULL (see the MSG structure). Therefore if hWnd is NULL, both window messages and thread messages are processed.
                                              Ответить
                                              • > GetMessage
                                                Хех, там далеко не все сообщения видно. Некоторые системные бродкасты только в оконной процедуре ловятся... Т.е. они вообще из нихуя рождаются во время DispatchMessage(). Кругом костыли.
                                                Ответить
                                              • Ну и я просто оставлю это здесь:

                                                Type: BOOL

                                                If the function retrieves a message other than WM_QUIT, the return value is nonzero.
                                                If the function retrieves the WM_QUIT message, the return value is zero.
                                                If there is an error, the return value is -1.
                                                Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • > окну не послать если окна нет
                                                  NULL'у кинь.
                                                  Ответить
                                                  • показать все, что скрытоvanished
                                                    Ответить
                                                    • > SendMessage
                                                      PostMessage(NULL, ...) аля PostThreadMessage(GetCurrentThreadId(), ...).
                                                      Ответить
                                                      • показать все, что скрытоvanished
                                                        Ответить
                                                        • > в другой процесс-то как
                                                          Подставь айдишку треда.
                                                          Ответить
                                                          • показать все, что скрытоvanished
                                                            Ответить
                                                            • > может не быть прав
                                                              А могут быть. А мог через GetWindowThreadProcessId() узнать. А мог по другим каналам получить от самого процесса...

                                                              Возможность передачи сообщения именно в message loop треда, а не окну есть. Ты же не будешь спорить с MSDN?

                                                              З.Ы. Нахуй это нужно - х.з. Скорее всего, тупо чтобы общаться со своими тредами, в которых уже крутится message loop.
                                                              Ответить
                                                            • Как правило - можно. Нужно обязательно получить привелегию SEDebugPrivelege и только после этого вызвать OpenProcess с правами чтения.
                                                              Ответить
                                                              • показать все, что скрытоvanished
                                                                Ответить
                                                                • Вполне успешно работает под UAC. Он даже не чешется. В пакете моих программ был менеджер скрытых процессов, он их подсвечивал серым. http://rastsecurity.do.am/load/1-1-0-4, там используется использует как раз эта идея. Сорцы правда, утеряны, не уберег.
                                                                  Ответить
                                                                  • показать все, что скрытоvanished
                                                                    Ответить
                                                                    • Большинство сосипатров (как и я) сидят под виндой от админа.
                                                                      Ответить
                                                                      • показать все, что скрытоvanished
                                                                        Ответить
                                                                        • Нет, у меня гораздо более поздняя винда и я хорошо знаю, что такое UAC.
                                                                          Ответить
                                                                        • Например, я UAC отключил, потому что с ним у меня не запускались какие-то старые программы. Не то, чтобы выскакивало предупреждение, а молча не запускались, даже в журнале ничего не оставалось. Отключил UAC, и всё заработало.
                                                                          Ответить
                                                                          • У меня такое было, когда обновился с восьмерки на десятку. Не понимал что за хуйня происходит (и сейчас не пониимаю). Потом поставил десятку с нуля.
                                                                            Ответить
                                                                  • Я больше скажу — под админом (учёткой) процесс без UAC-прав может открыть explorer.exe с привилегиями PROCESS_ALL_ACCESS, после чего невозбранно делать с проводником что угодно. Багор!
                                                                    Ответить
                                                                    • Я против UAC, они призвали демонов на марс.
                                                                      Ответить
                                                                    • Это дыра, на самом деле. Самая настоящая уязвимость. Благодаря ей, ранние модификации вируса "Sality" умели отключать все версии антивируса Касперского и иные. Как они это делали? Снаружи процесс КАВ защищен драйвером, который хукает любые попытки открытия либо получения хэндла - то есть, обычным способом его не завершить. Есть мнение, что вирус патчил Проводник, искал иконку КАВ в трее, после чего следовали активация меню и выбор пункта "Отключить". Глазами АВ это выглядит вполне легитимно: пользователь хочет его выключить. После этого антивирус становился беззащитен и вирус сносил его с потрохами.
                                                                      Ответить
                                                                      • Да возмолимся Господу об устранении людских уязвимостей, на кои патч никак не поставити.
                                                                        Ответить
                                                                    • показать все, что скрытоvanished
                                                                      Ответить
                                                                • Почему именно Сосипатр, а не Сосфен, не Симеон Нигер и не Епафродит?
                                                                  Ответить
                                                                  • Я прошёл остановить разврат и отрицание, здесь процветающиее, о немолодой уже, но весёлый муж, кукарекающий за личиною петуха.
                                                                    Ответить
                                                                    • Батюшка, ежели я куплю шокер и коротну в локалку, сойдёт ли божий огонь благословение на компьютеры, к ней подключённыя?
                                                                      Ответить
                                                                      • не возьми греха на душу, компьютеры ломаючи... Кто-то не угодил? Пойди и застрели их.
                                                                        Ответить
                                                                      • Можешь попробовать разобрать зажигалку (зажигалку без газа можно подобрать на свалке, даже покупать не надо). Если в ней обнаружишь кусок кремния и колёсик с напильником, то тебе не повезло, ищи другую. Найди зажигалку с пьезоэлементом. Вынь пьезоэлемент, согни провод так, чтобы тебе было удобнее, прислони к любому контакту разъёма «RJ-45» (к оставшимся контактам прижми палец) и сделай несколько щелчков. Злой дух из локалки будет изгнан.
                                                                        Ответить
                                                                        • "Злой дух из локалки будет изгнан.

                                                                          А из ануса таким же макаром?
                                                                          Ответить
                                        • > окно в винде иметь не обязательно
                                          Вот только некоторые события без окна хуй получишь... Вот и приходится создавать невидимые окна.
                                          Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • Доктор Стертор уже ответил Вам.
                          http://govnokod.ru/14760#comment465725
                          Ответить
                        • Вышеупомянутые параметры, кроме MB_TASKMODAL, лишь меняют z-index (если первый аргумент==0). Модальным окно не становится, можно запросто обращаться к элементам управления родительского окна. Если же первый аргумент !=0, в этих флагах нет нужды, ибо msgbox и так модальный.

                          Ответить
                          • > ==0

                            Ты же делфист, почему двойное равно?
                            Ответить
                          • vanished
                            Ответить
                            • Мне очень не нравится, когда один дебил учит другого: в знаниях у обоих зияют провалы и со стороны их спор выглядит как обострение шизофрении (острый бред). На себя мне похуй, но еба, ты-то, ты?..

                              Если ты внимательно посмотришь справку, то поймёшь, что этот флаг идёт по умолчанию.


                              MB_APPLMODAL
                              0x00000000L

                              The user must respond to the message box before continuing work in the window identified by the hWnd parameter. However, the user can move to the windows of other threads and work in those windows.

                              Depending on the hierarchy of windows in the application, the user may be able to move to other windows within the thread. All child windows of the parent of the message box are automatically disabled, but pop-up windows are not.



                              если ты тупо укажешь ноль, это и будет апплмодал.
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • Не хочу выебнуться, но про флаги я узнал в школе. Училка брянцала на рояле, а мы должны были передавать флажок. А после утренника пацаны ходили вместе писать и дрочить.
                                  Ответить
                                  • Передавание флажка - упражнение на развитие чувства такта, применяется к школьникам младших классов. Из этого следует, что ты - круглый пиздун, ибо дрочить в таком возрасте просто нечего. Может, у Вас была школа для умственно-отсталых подростков?..
                                    Ответить
                                  • какой кошмар
                                    Ответить
                • А вентилятор останавливался?
                  Ответить
            • Именно поэтому я за "alert".
              Ответить
    • Ого вы тут нафлудили. У меня аж очко почта разрывается.
      Ответить
    • vanished
      Ответить
      • >> Bucharest

        Ну не знаю, может быть, какой-нибудь цыган откликнется.
        Ответить
        • vanished
          Ответить
        • Какой Бухарест ))
          Ответить
          • Букурэшть. Забавно звучат румынские слова на «-шть», совершенно чуждо для романских языков.
            Ответить
            • Почему чуждо? А португальцы как же?
              Ответить
              • Португальский интересно звучит. В нём «s» нормальное, а не шепелявое, как в испанском. Но в нём вроде нет такого количества мягких согласных, как в румынском?
                Ответить
                • Я имел ввиду, что они тоже любят "ш" и "у" как румыны.

                  Португальцы едят паштель и любуются на азулежу (то ли ж, то ли ш тут) из города Оливейра-ди-Аземейш
                  Ответить
          • К слову, про румынский:

            https://youtu.be/hfeCx_CYLuU
            Ответить
            • говорят, в румынском есть пласт славянской лексики
              иногда это чувствуется)
              Ответить
              • Повэшть — это повесть.

                В интернете можно найти скан «молдавско-румынского словаря» (автор Василе Стати). Там автор нарочно собрал в молдавской колонке славянизмы, а в румынской — романизмы. Например, kuzneţ — fierar.
                Ответить
                • >«молдавско-румынского словаря»
                  Кстати, в республике Молдова официальный язык румынский
                  Угадай, где молдавский
                  Ответить
                  • В ПМР же.
                    Ответить
                    • Да. Причем на лимба молдовеняскэ там на кириллице (румнский, соответственно, на латинице)
                      Ответить
                      • Кстати, румынский примерно до 1860-х годов был на кириллице, с ятями и с прочими дореволюционными артефактами. Потом они перешли на латиницу.

                        Молдавский в 1930-х перевели «обратно» на кириллицу. Это была не та румынская кириллица, а уже новая, без ятей.

                        В «Google Books» есть реальные примеры книг на дореволюционной кириллице.
                        Ответить
                        • В конце 20-х был тренд переводить всё на латиницу (даже русский хотели, лол). В середине 30-х политика партии изменилась, и всё обратно вернули на кирилицу.

                          Потому у некоторых народов в итоге по два алфавита
                          Ответить
                          • Латиницу форсил Луначарский. Потом он неожиданно как-то закончился в начале 30-х, и тогда стали форсить кириллицу.

                            У Ленина хватило смелости сказать Луначарскому, что русский переводить на латиницу не нужно.

                            А латинизация других народов тогда прокатила, потому что они были либо вообще бесписьменными, либо использовали арабское письмо, которое им подходило ещё хуже, чем латиница.

                            Армянский и грузинский не трогали, у них к этому моменту уже было удобное письмо.
                            Ответить
                            • борщевики как будто в Тропико играли (говорю как гологуб блять)

                              то на латиницу, то на кириллицу

                              то русификация, то предпочтение национальным языкам

                              и это в стране, где за первые 75 лет было три с половиной руководителя

                              реально русское поле экспериментов
                              Ответить
                              • Для каждой идеи существует прямоходящая птица без перьев, которая её носит. Для латинизации такой птицей оказался Луначарский. Не стало Луначарского, и оказалось, что латинизация не нужна.

                                Сторонники латинизации считают, что латинский алфавит — самый универсальный. Посмотрим... Вот, например, как в «универсальном» алфавите обозначают звук «ш»:
                                • «sh» в английском;
                                • «ch» во французском (у англичан и у испанцев то же «ch» означает «ч», а у итальянцев — это просто «к», а буква «h» служит для разделения с гласной, чтобы не спутать с «c» в роли «ч», удобно, да?);
                                • «sch» в немецком;
                                • «sz» в польском (а вот «ш» мягкое поляки обозначают как «ś»);
                                • «s» в венгерском (а звук «с» венгры обозначают как «sz», то есть ровно наоборот по сравнению с польским);
                                • «š» в чешском;
                                • «ş» в турецком (ладно, будем считать это деталью реализации);
                                • «x» в баскском.

                                Вообще «x», «j» и «c» — самые невезучие буквы, потому что у них в разных языках разные значения.

                                Универсальный алфавит, да?
                                Ответить
                                • надо понимать, что они имеют в виду под "универсальным"

                                  я бы сказал, что с латиницей упростилась бы унификация возможно

                                  но какого-то особого смысла не вижу: не так далеко кириллица ушла от латиницы, чтобы для нас было проблемой воспринимать и то, и то
                                  Ответить
                                  • Ма-те-ма-ти-ки даже греческий алфавит знают. Значительная часть символов совпадает либо с латиницей, либо с кириллицей, доучить оставшиеся не проблема.
                                    Ответить
                                • У нас "ш" передается через `sj`. meisje (мейше). Иногда в "ш" сливаются два соседгих звука: Als je wil (если ты хочешь) в разговорной речи произносят как "алщевил" а не "алс е вил". Слово alsjeblieft (пожалуйста) тоже уходит корнями в "als je.." (ср с беларуским "калiласка")

                                  Так что добавь в свой список "sj"
                                  Ответить
                • > kuzneţ — fierar.
                  слово "феррум" слышу я во втором слове.

                  У Трофима дворник-таджик на языке Хаяма материл февраль. А строитель-молдаванин ругается на языке Цицерона, лол
                  Ответить
                  • И тяжелую тащит телегу
                    Ломовая латынь молдаван.
                    Ответить
              • Офтопик. У фильма «Мария, Мирабела» было продолжение: «Мария, Мирабела в Транзистории». Там девчонки путешествовали по печатной плате телевизора.
                Ответить
            • Ох, инканус. Лжец.
              Ответить
    • >И еще на мой взгляд, функция main() — атавизм, доставшийся программистам от СИ. В С++ она лишняя. Но компиляторы пока этого не знают к сожалению.
      в C# стало можно писать без мейна, но там какие-то ебананаские ограничения, типа структуры нельзя объявлять после строчек кода (как в паскале и старых сях хахах)
      Ответить
    • If I try to compile a source file (any .hs file) and the
      compiler returns an error (any error), the source file
      gets deleted.

      The compiler however, returns me to the "Prelude>"
      cursor and still accepts commands
      Ответить
    • Как определить долбоеба? Он именует символы, как долбоеб.

      struct epoll_event m_ListenEventTCP, m_ListenEventSSL;
      Ответить
      • Ну допустим говноед решил принести немного паскакалевой нотации в позиксовую_змейку. Пидорство конечно, но простим ему это.
        Но что значит "m_"? Долбоёб реально все поля предворяет буквой "m"? Чтобы не писать `this->`?
        Ответить
        • Ну есть разные нотации. Кто-то с подчёркивания начинает члены класса, кто-то с подчёркивания заканчивает. Где-то вообще нет ничего, как в "JAWA" (хуй проссышь это название класса или член). Главное чтобы единообразно всё было и удобно было всем читать код.
          Ответить
          • > Где-то вообще нет ничего, как в "JAWA"

            В джавке понятно - camelCase поля и переменные, PascalCase типы, НАОРУ_ТЕБЕ_В_УШИ константы и енамы. Вот по-настоящему хорошо в шарпе, где только PascalCase (в т.ч. для методов - надо вовремя сообразить, что ты смотришь на установку делегата, а не значения) и для остального camelCase
            Ответить
            • Лучше всего в Go. Знаешь, или рассказать?
              Ответить
              • go brrrrrrrrrrr
                Ответить
                • Я серьезно. У меня к го много претензий, но неймстайл там наиболее чистый и правильный.


                  А змея это пидорство кстати. Горизонтальное место стоит дорого. Змею придумали 50 лет назад, когда отличать заглавные от строчных было нельзя (капитель или как там оно называется) а сейчас нахуя проебывать место?


                  userQuantityPerDag = fatPetuhs / GetKurochkas() * SvynjasPerHour()
                  user_quantity_per_dag = fat_petuhs / get_kurochkas() * svynkas_per_hour()
                  Ответить
        • > Но что значит "m_"?

          Мудило. Есть ещё mb_
          Ответить
    • шах и мат аметисты
      https://pbs.twimg.com/media/GJkwALZWEAAQ9ro?format=jpg&name=medium
      Ответить
    • Какой у нас всётаки язык прикольный.

      Joeri Aleksejevitsj Gagarin
      Ответить
      • Borkgrijp niet. Vertaal naar "het nederlands".
        Ответить
        • he? Spreek jij ook Nederlands? Je hebt een paar foutjes gemaakt, maar Ik kan je goed begrijpen.
          Ответить
          • dit is een letterlijke vertaling
            Ответить
            • ha-ha, het is een leuk grapje, maar als je wil dit beter maken, moet je het "nederlands" zeggen. Dit is hoe meneer Rotoeb schrijft
              Ответить
      • > у нас
        Аусвайсс хоть выдали?

        https://cdn-images.the-express.com/img/dynamic/10/1200x675/152695.jpg
        Ответить
        • Почему гологуб всегда приплетает штаты?
          Ответить
        • У есть глагол uitwijzen, но значит он совсем другое
          Ответить

    Добавить комментарий