1. C# / Говнокод #20075

    +6

    1. 1
    https://github.com/pascalabcnet/pascalabcnet

    ШОК! Говном компилируется говно. Это рекорд

    Запостил: dm_fomenok, 25 Мая 2016

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

    • Не такое уж и говно) Просто детей учат паскалю, а turbo pascal под dos плохо работает на win64, приходится вот делать его под .net

      Я считаю что паскаль очень хороший ЯП для обучения, и очень жалко что он никому нахуй не нужен сейчас.

      Другой вопрос: стоит-ли учить детей языку, который они не смогут нормально применять на практике?
      Ответить
      • Ознакомся хотя бы с этим: github.com/pascalabcnet/pascalabcnet/blob/master/NETGenerator/Helpers.cs
        Это ещё не рекорд.
        Ответить
        • очень надеюсь что год автогенеренный

          ну, глупо такое руками писать
          Ответить
        • Eсли смотреть код лексеров, синтаксических анализаторов и в целом составных частей компилятора, то они действительно смотрятся не очень, очень много повторяющихся конструкций. Не раз сталкиваюсь с этим, видимо по другому не написать.
          Ответить
          • Вообще нет. Нужно только нормальные инструменты выбирать. (yacc - это не нормальный, если что). Просто ради примера писал парсер Thrift:
            https://github.com/wvxvw/thrift-prolog/blob/master/thrift.pl
            - я бы не сказал, чтобы он был очень повторяющимся.
            Ответить
      • > Другой вопрос: стоит-ли учить детей языку, который они не смогут нормально применять на практике?
        Другой вопрос: стоит-ли учить детей программированию, которое они не будут никогда применять на практике?
        Ну а вообще, это же программирование, это же мышление. Освоил основы - готов к новому. А иначе можно только и делать, что писать факториалы на js на уютненьком говнокодике как я.
        Ответить
        • Это же не школа, это для курсов. А те кто туда идет -- те будут программировать.

          Да, я согласен с тем что это про мышление. Я тоже не использую те языки, на которых учился.
          Просто вот закончил ты курсы, а вокруг тебя совсем другие ЯП
          Ответить
          • А, тогда да, прошу прощения. Куда-то я в абстрактные материи махнул.
            Ответить
        • >А иначе можно только и делать, что писать факториалы на js на уютненьком говнокодике как я.
          Кем работаешь?

          >Другой вопрос: стоит-ли учить детей программированию, которое они не будут никогда применять на практике?
          Основам, наверно, стоит.
          Ответить
          • писателем факториалов на JS на говнокодике
            это же очевидно
            Ответить
          • > Кем работаешь?
            Факториальщиком. Факториалы пишу на ГК.
            Ответить
            • Сколько стоит заказать факториал и за сколько справитесь?

              интересует постоянное сотрудничество
              Ответить
              • Зависит от аргументов. Если от одного до пяти, одна цена. Дальше - другая, растёт как факториал (т.к. других функций я не знаю). Ещё зависит от того, клиент корпоративный или нет. Работа над проектом занимает от двух дней до трёх месяцев. Пишите сюда, обсудим детали.
                Ответить
              • > за сколько справитесь
                За O(n!)
                Ответить
            • Что, на пособие в России можно жить?
              Ответить
              • У нас проще где-нибудь работать неофициально, чем ебаться со справочками о том, что ты нахуй не нужен фирмам XXX, YYY и ZZZ, в которые тебя будут посылать, емнип, каждый месяц...
                Ответить
              • > Можно ли жить на пособие?
                Посчитай сам:

                Согласно постановлению О РАЗМЕРАХ МИНИМАЛЬНОЙ И МАКСИМАЛЬНОЙ ВЕЛИЧИН ПОСОБИЯ ПО БЕЗРАБОТИЦЕ установлена на 2016 год минимальная величина пособия по безработице в размере 850 рублей и максимальная величина пособия по безработице в размере 4900 рублей.

                Особые случаи определения пособия по безработице:
                <...>
                впервые ищет работу (ранее не работал);
                хочет работать после долгого перерыва (более 1 года);
                <...>
                минимальный размер пособия по безработице, увеличенный на районный коэффициент


                (Максимальный р/к где-то 2.0, в районе Чукотки, в остальных местах в районе 1.0-1.2)
                Ответить
                • При этом от тебя должны отказаться три фирмы (именно они от тебя, а не ты от них).
                  Ответить
                  • Ну и да - это не пособие для безработных (как в этих ваших европках), это пособие на время поиска работы. Если ты не ищешь работу - можешь идти сосать хуи на трассе.

                    З.Ы. Вроде ещё таймаут на оплачиваемый поиск и неоплачиваемый кулдаун между ними был? Или я гоню?
                    Ответить
                    • Кстати, если имея два высших образования, учёную степень, кучу изобретений, званий и регалий, откажешься от работы дворника, значит, ты не ищешь работу и пособия на время поиска работы недостоин.
                      Ответить
                      • Ну вроде первые варианты пытаются подобрать по специальности? Если, конечно, эта специальность актуальна в мухосранске...
                        Ответить
                        • Зачастую пытаются подобрать, исходя из истории предыдущих мест работы. При этом неграмотные инспектора иногда путают специальности. Могут на работу, требующую высшего образования в какой-то сфере, послать человека, имеющего в этой же сфере среднее образование. Работодатель, разумеется, от такого нафиг ему не нужного работника откажется => в случае троекратной ошибки инспектора по занятости пособие обеспечено.
                          Ответить
                          • > ошибки инспектора
                            Ну на прошлой работе к нам периодически приходили с просьбой "подпишите, пожалуйста справочку, что я вам нахуй не нужен". Даже не пытались пройти собеседование...
                            Ответить
                            • Как хорошо жить в стране, где можно прямо сказать то, что хочешь!
                              Ответить
                    • А в позднем Совке был противоположный маразм: наотрез не брали на рабочую должность людей с высшим образованием. Директор предприятия боялся, что его выебут, если узнают, что у него образованный человек выполняет неквалифицированную работу.

                      Сейчас же подметать пол, будучи сертифицированным специалистом, вполне нормальное явление.
                      Ответить
                      • В Роиси очень низкий уровень безработицы, так что если у тебя вышка и сертификат и ты подметаешь пол, то ты мудак.
                        Ответить
                      • Ну и у нас на неквалифицированных должностях некоторые не светят совковые корочки о вышке или ни дай бог кандидатские/докторские, ибо не возьмут. google: overgraduated или переквалификация.
                        Ответить
                        • Странно. А я думал, что у вас декоммунизация.
                          Ответить
                          • ЯННП
                            Ответить
                            • Но это же совок какой-то: не брать на неквалифицированные должности тех, кто засветил корочки.
                              Ответить
                    • Ну тут тоже есть формальные обязательства посылать 7 резюме в месяц.
                      Ответить
                      • РЕЗЮМЕ

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

                        З.Ы. Или они эти резюме читают?
                        Ответить
                        • http://govnokod.ru/20075#comment329068

                          Впрочем, можно посылать резюме так, чтобы не отвечали. Оказывается, неквалифицированную работу тоже надо еще найти.
                          Ответить
        • Ну еще классик же сказал - "математику уже потому учить следует, что она ум в порядок приводит". Та же история с программированием, имхо.
          К слову, в Японии вроде программирование хотят сделать обязательным предметом.
          Ответить
          • Вообще да

            Не понятно почему детей учат работать на станке, играть в футбол и отличать пестик от тычинки, а написать сортировку на императивном ЯП не учат
            Ответить
          • А в швеции, кажется, киберспорт хотят.
            Ответить
            • Отличный способ отучить детей от проёба времени за игрушками... У меня так интерес к классическим литературе и музыке убили :(
              Ответить
              • Ну от математики отвращают на ура.
                Ответить
              • Дети прогуляли урок контра-страйка потому что он был последний, сбежали, и решали математические задачи на деньги
                Ответить
      • Delphi же есть
        Ответить
      • > Не такое уж и говно

        Говно, говно.

        Даже Вирт уже раза два Паскаль переделал (Модула, Оберон).

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

            а пыхи и жабоскрипты... народ на них много полезного делает. они на порядок выше стоят нежели чем ископаймое "паскаль".
            Ответить
        • Но ведь Турбо Паскаль и Дельфи — это уже не Паскаль. Они взяли в себя некоторые детали из Модулы и из языка Ада. В оригинальном Паскале вообще ООП не было.
          Ответить
          • > Но ведь Турбо Паскаль и Дельфи — это уже не Паскаль.

            Знаю - https://en.wikipedia.org/wiki/Object_Pascal .

            И как много чего поменялось после 1986 года в языке?

            И заметь что Object Pascal не стандартизирован.
            Ответить
            • Да, не стандартизирован и это плохо. Даже при переносе кода с Delphi на Free Pascal приходится много всего переписывать. Но справедливости ради замечу, что и код, рассчитанный на gcc, порой нельзя без доработки скомпилировать в MSVC.

              In 1986, Borland introduced similar extensions.

              Поменялось много. Огромный скачок был с появлением Delphi 1.0: появились свойства (property) с геттерами и сеттерами (в том числе свойства с индексами, как у массивов), исключения (try...except...finally), динамические массивы, тип Variant (что-то типа динамической типизации средствами, аналогичными union в Си, но только с доп. поддержкой).

              Да в 1990-м язык уже сильно отличался от 1986.

              Во Фрипаскале появилась перегрузка операторов, а в Delphi XE — дженерики и замыкания. Почти каждый год появлялось что-то новое.

              «Стандартный» же Паскаль (Standard Pascal и Extended Pascal, ISO 7185 и ISO 10206 соответственно) пытались реализовать только в gpc. Но он как-то вяло развивается, да и не нужен.

              P.S. Во Фрипаскаль дженерики уже тоже завезли:
              http://www.freepascal.org/docs-html/current/ref/refch8.html
              Ответить
              • > Во Фрипаскале появилась перегрузка операторов, а в Delphi XE — дженерики и замыкания.

                Мне сложно принять что в *языке* что-то поменялось, когда меняется только в его двух *реализациях*.

                Почти как в примере, gcc vs msvc, но только с тем различием что compiler extensions покрывают редкие юз-кэйсы, и в общем случае можно и без них обойтись. В Паскале эти расширения касаются ядра языка.

                > Да, не стандартизирован и это плохо. [...]

                У Паскаля просто нет сильной некомерческой организации, и пользователей критической массы тоже нет, для того что бы кто-то толкал стандартизацию.

                Ну по крайней мере FreePascal решил следовать/избегать конфликтов с Delphi что можно считать прогрессом.

                Но учитывая возраст языка, и факт что он только и делает что пытается догнать современные языки, это просто позор.

                У стандартизации к слову есть другой важный побочный эффект: testability языка. Вспоминая войны с багами и кривоватой backward-compatibility Delphi, слегка передергивает. И помощи ждать неоткуда, потому что то что (в те времена) Борланд сказал - есть закон. И то что они говорили, очень часто просто было whitewash что бы баги прикрыть.
                Ответить
                • Несколько реализаций унаследовали борландовский Object Pascal: Oxygene (развивается), PascalABC.NET (развивается), Free Pascal (развивается), Turbo51 (для i8051, последний выпуск три года назад), MIDletPascal (для J2ME, последний выпуск три года назад), Flash Pascal (последний выпуск 5 лет назад), WDSibyl (почил 8 лет назад), Virtual Pascal (почил 12 лет назад), Canterbury Pascal (кажется, мёртв).

                  Похожий синтаксис был и у забытых TMT Pascal и Topspeed Pascal.

                  Вроде негусто. Но много ли реализаций у языков PHP, C#, Java, Python, ActionScript, 1C, Perl, Objective C, Haskell, Ruby?
                  Ответить
                  • > Вроде негусто. Но много ли реализаций у языков PHP, C#, Java, Python, ActionScript, 1C, Perl, Objective C, Haskell, Ruby?

                    Ты не ожидаешь от меня точных ответов?

                    PHP - есть несколько реализаций, форки мэйнлайна. в общем случае концентрируются на производительности.

                    С# - обложено патентами и кроме моно других реализаций нет.

                    Java - есть три (IIRC, включая далвик - четыре) реализации. немного сложный топик, т.к. язык состоит из jvm (кучи альтернативных реализаций) и java run-time library (3-4 реализации, только 2 полные SunJDK, OpenJDK (GNU classpath, Android)).

                    Python - Jython, IronPython, Cython, etc.

                    ActionScript - ... им еще кто-то пользуется? флеш же вроде уже умер? ;)

                    1С - язык, встроеный в и специфичный для одно коммерческого продукта.

                    Perl - Perl5: 2 реализации (Perl5 mainline & perlito). Perl6: как минимум три (rakkudo, parrot & perlito).

                    Objective C - две. Гнутая & NeXT Step. язык сидит в нише, и кроме как Аппл им вроде никто не пользуется. (а зря - Objective-C++ очень даже прикольная штука.) (компилер тут не главное - и вроде только gcc & clang - главное это стандартная библиотека. CF (FoundationClasses) либы две, что я считаю.)

                    Haskell - отстой.

                    Ruby - подобно питону есть несколько альтернативных реализаций. более того - есть ISO стандарт.
                    Ответить
                    • >>С# - обложено патентами и кроме моно других реализаций нет.
                      С этого места по-подробнее. Какие патенты запрешают мне реализовать C#?

                      >>далвик
                      дальвик мертв, см ART

                      >>Python
                      pypy забыл

                      >>Objective C
                      рано или поздно убьет swift


                      Ответить
                      • >> дальвик мертв, см ART

                        Нифига. Нельзя просто так взять и обновить версию Андроида без замены железки. У пользователей на руках куча планшетов и смартфонов на Андроиде 4.x и даже 2.x, для которых не вышло новой прошивки. А значит, Дальвик ещё долго будет в ходу.

                        Устройства с пятым Андроидом на свалки пока ещё не завезли.
                        Ответить
                        • если ставить самосбор или кастомный андроид то он уже давно пятый
                          если у тебя nexus то тоже пятый

                          если у тебя фирменный девайс, то конечно от вендора зависит
                          некоторые вендоры положили хуй на обнлвление еще во времена 4.2, и у людей до сих пор 4.2
                          Ответить
                      • > >далвик
                        > дальвик мертв, см ART

                        под далвиком я подразумевал и vm и стандартную библиотеку.

                        ART это замена vm - стандартная либа остается.

                        опыт GNU classpath vs gcj показал что комилер для жабы написать намного проще чем меги кода стандартной библиотеки. да, компилер намного более замудреный, но монументальный размер стандартной библиотеки порождает просто невероятный maintenance overhead, который никакой open source проект не тянет.
                        Ответить
                        • а зачем писать стандартную либу? почему не взять сырцы? Потому что лицензия?
                          Ответить
    • Это точно не стертор.
      Ответить

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