1. PHP / Говнокод #7946

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    PHP язык несомненно порочный. 
    1. Взять, например, правило именования переменных - перед именем оных обязательно ставить знак доллара. 
    Т.е. в PHP закреплен (подсознательно или сознательно) посыл к тому что во главе любой вещи стоит доллар, 
    деньги, американские деньги, раздутая финансовая
    пирамида современности как нечто обязательное к употреблению,
    первостепенное, стоящее во главе всех вещей. 
    2. Заметим так же, что перед названиями функций, т.е. участков кода занимающихся программной работой, 
    подобного требования в PHP не существует. 
    Тем самым PHP внедряет в подсознание идеи обесценивания работы и труда. 
    3. Нетрудно связать второе с первым и понять что PH
    психо-идеологически стимулирует склонность к рабству перед
    вещественным, отрицает справедливого вознаграждения за труд, но превозносит власть денег, золота, роскоши и
    вообще всего материального. Инспирирует рабовладельчество вещи над человеком, а не человека над вещью.

    http://www.gamedev.ru/flame/forum/?id=152692#m10

    Запостил: C_Plus_Plus_Govno, 23 Сентября 2011

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

    • Почему все минусуют и не комментируют?
      Это же смешной пост!
      Ответить
    • В тему бы ещё выложить ссылку на видео трилогию "Дух нашего времени". :D
      Ответить
    • bash.org.ru --->
      Ответить
    • Лопата!!! теперь смейтесь.
      Ответить
      • .                                               
                                                          
                       .-/oydmmmmmhs+-                    
                     -hMMMMMMMMMMMMMMMmh/.                
                   -hMMMMMMMMMMMMMMMMMMMMNd/`             
                  sMMMMMMMMMMMMMMMMMMMMMMMMMd/            
                 yMMMMMMMMMMMMMMMMMMMMMMMMMMMMy`          
                +MMMMMMNhdhdhhhhhhhhhyyyhhdmNMN/          
               .dMMMMy/: ` `             ``.:/ys          
               sMMMMs                         :h          
               hMMMMs-                         d          
               dMMMMNs`                        s-         
            `./MMMMMNh                         :s         
            +:.smMMmh/        ```               m         
            o+  :NMN`     `/oosydho     `/syo++`o         
            `+ +dMMy     :soshdsyMM/   :ymmhhss`h`        
             -:y/hMm`    /yy+/:.-+m-   oNNh/o+.`h         
              .-ooo-       `.....::.    --:..` --         
               `/y/              ./      -.     :         
                :d             .ss`      -hy:  -.         
                .m          `:hd: :+/-.`  `ody`+          
              `+md/        -dh+`   .+so.`..+dd`+          
             -mMM/+        -hdysss+oss++so-yy`:.          
        `.+yhNMMMs:.     `  `-``.:````  `  . :+.``        
        mNMMMMMMMN`:-`   yo`     -/++//:   `+NMNmdhy+/-.` 
        MMMMMMMMMMh`.:+-`hNd-       ..`   -dMMMMMMMMMMMNdh
        MMMMMMMMMMMy` `:/.-yms:`         :NMMMMMMMMMMMMMMM
        MMMMMMMMMMMMh`   .//./ydo--...::sMMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMd.    `-::oyydmo-`.MMMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMm.       `:y/`   sMMMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMN-       .MN/   NMMMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMMm`      yMMMo  MMmMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMMM/     :MMMMMy`yMoMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMMMN-    dMMMMMdy:MoMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMMMMMo` .MMMMMMN-:NdMMMMMMMMMMMMMMMM
        MMMMMMMMMMMMMMMMMMMMd. omMMMMMM/MNMMMMMMMMMMMMMMMM
        Ответить
    • Пока сишники ловят утечки памяти, пыховцы зашибают бабло.
      Пока крестоносцы продираются сквозь дебри шаблонов, пыховцы зашибают бабло.
      Пока шарповцы учат новые фишки новой редакции языка, пыховцы зашибают бабло.
      Пока хаскелевцы вязнут в монадах-моноидах, пыховцы зашибают бабло.

      Пока [подставь любой язык] тратят время на [подставь крутые фишки этого языка], пыховцы зашибают бабло.

      Нэ?
      Ответить
      • "зашибают бабло" нужно везде заменить на "тратят время на изобретение велосипеда".
        Ответить
        • на пхп ты найдешь десяток любых велосипедов в интернете под самые изощренные фантазии.

          а используя фреймворки, поддерживающие основные паттерны программирования, работа над проектами сводится исключительно к написанию бизнес логики.
          Ответить
      • Пока сишники ловят утечки памяти, пыховцы гребут говно.
        Пока крестоносцы продираются сквозь дебри шаблонов, пыховцы гребут говно.
        Пока шарповцы учат новые фишки новой редакции языка, пыховцы гребут говно.
        Пока хаскелевцы вязнут в монадах-моноидах, пыховцы гребут говно.
        Ответить
      • А ещё они на вас плевать хотели, и будут дальше гребсти.
        И если пыховец это не значит что не чего другого он знает ;)
        Ответить
        • не поверите, но начинал с С++, потом учил долго ассемблер и архитектуру процессоров, структуру программ, секции, затем винапи, потом перешел на делфи, т.к. на с++ ну блин ооочень геморно программировать. перешел на делфи сразу как узнал, что массивы могут быть динамическими)) потом перешел на пхп, т.к. разработка - просто отдых, а спрос очень большой. уже более трех лет как на php сижу и доволен. никакой конкуренции, постоянных клиентов полно, цены ставишь сам за свою работу, т.к. чуть менее чем все нынешнее php прогеры тупая школоло, которые только мозги заказчику %бут, а толком ниче не умеют.


          p.s. с удовольствием перешел бы на python, но на него спрос маленький, неакутально нынче :'(
          Ответить
          • пока вы боитесь питона, секта RoR захватывает мир!
            Ответить
            • скажи честно,ты сам RoR вообще пробовал?)) я пробовал, потом долго плевался) может это было только первое мнение, но отвращение возникло сразу) не знаю, каким нужно быть наркоманом чтобы на нем писать большие проекты. Он ведь заточен под определенные нужды, никакой гибкости
              Ответить
              • я тоже на нем написал только 1 проект. Процесс осваивания был нелегким, но вообще я не был ни доволен, ни недоволен. Вот Руби сам по себе язык мощный.
                Ответить
                • руби в чистом виде может быть, (но не сказал бы, что мощнее питона), но фреймворк бяка. А вот Django это секс, с удовольствием бы его и освоил поглубже и проекты бы на нем писал. но, мля, никому ни джанго, ни питон не нужен =/
                  Ответить
                  • после Руби в Питоне начинает койчаво нехватать.
                    Ответить
                    • Пусть расцветут все цветы.
                      Ответить
                    • Это мягко говоря.
                      Ощущение от питона после руби такое, словно писал сначала на котлине а потом пересел на шестую джаву
                      Ответить
                      • Не понял. Переведи в плоскость процедурного "PHP", объектно-ориентированного "PHP" и PHP-фреймворков. Ни "Python", ни "Ruby", ни "Kotlin", ни "Java" мне ни о чём не говорят.
                        Ответить
                        • Представь что ты после седьмого PHP и какого-нить CakePHP пересел на PHP 3 без какого-либо фреймворка
                          Ответить
                          • Вот ведь какое говно этот "Python"... Да, всё-таки не зря так восхваляют "Ruby".
                            Ответить
                            • Ну я может излишне эмоционально сказал, но многие вещи в руби делаются очень просто, а в питоне требуют написание множество однообразного кода.
                              Ответить
                              • >, но многие вещи в руби делаются очень просто, а в питоне требуют написание множество однообразного кода.
                                Скорее всего, ты что то не так делаешь.

                                Можно пример?
                                Ответить
                                • В Ruby есть многострочные лямбды, а в питоне надо явно делать def.

                                  В Ruby последний стейтмент функции является ее возвращаемым значением и не надо писать return.

                                  В Ruby последний аргумент функции может быть блоком и тогда ее можно вызввать так

                                  my_func do |arg|
                                  # some code
                                  end

                                  В питоне надо явно делать def и его туда передавать.

                                  В Ruby на одной строчке можно написать if:
                                  return 1 if foo = 42
                                  в python две строчки

                                  В Ruby можно поймать exceptuion на той жестроке:
                                  do_something rescue SomeException

                                  В Ruby есть case причем по ренджу, по типу и по значений
                                  case x
                                  when 1..5
                                  "It's between 1 and 5"
                                  when 6
                                  "It's 6"
                                  when "foo", "bar"
                                  "It's either foo or bar"
                                  when String
                                  "You passed a string"
                                  else
                                  "You gave me #{x} -- I have no idea what to do with that."
                                  end

                                  В руби есть бесконечные генераторы (от 0 до бесконечности) потому что они ленивые.

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

                                  0.upto(Float::INFINITY).lazy.select{|x| x % 64 == 0 && x % 3 == 0}.take(10).to_a #в массив)

                                  В питоне придется все заворачивать в list "разнося" скобочки далеко друг от друга

                                  а можно так:
                                  .each{|x| p "(#{x})"} # каждую напечатать)

                                  В руби есть оператор флип-флоп (из перла)
                                  Ответить
                                  • > В Ruby есть многострочные лямбды, а в питоне надо явно делать def.
                                    def c(x):
                                        # ...
                                    somefunc(a, b, c, d)
                                    Красивее и понятнее чем:
                                    somefunc(a, b, lambda { |x|
                                       # ...
                                    }, d)


                                    > В Ruby последний стейтмент функции является ее возвращаемым значением и не надо писать return.
                                    Явное лучше чем неявное :P

                                    > В Ruby последний аргумент функции может быть блоком
                                    Прикольная штука, но таких дурачков как я это только путает.

                                    > В Ruby на одной строчке можно написать if
                                    if foo == 42: return 1 # те же слова, но в другом порядке
                                    # да и в 2 строчки писанины не больше


                                    > В Ruby можно поймать exceptuion на той жестроке
                                    Что же ты всё в строчках меряешь.
                                    def resque(f, exception):
                                        try:
                                            res = f()
                                        except exception:
                                            pass
                                        return res
                                    Юзай наздоровье, может быть есть такая штука и в стандартной библиотеке есть, но мне тру/ехсепт норм.


                                    > В Ruby есть case причем по ренджу, по типу и по значений
                                    В Питонии и с elif никто не жалуется, всё красиво и понятно:
                                    if 1 <= x <= 5: # или: x in range(1, 6)
                                        # СОСАТЬ!
                                    elif x == 6:
                                        # СОСАТЬ!
                                    elif x in ("foo", "bar"):
                                        # СОСАТЬ!
                                    elif type(x) == str:
                                        # СОСАТЬ!
                                    else:
                                        # СОСАТЬ!
                                    Ответить
                                    • >>Красивее и понятнее чем:
                                      разумеется, а вот так отлично

                                      somefunc a, b, |x|
                                      ...
                                      end

                                      >>Явное лучше чем неявное :P
                                      иногда излишне явное

                                      >>Что же ты всё в строчках меряешь.
                                      потому что 1 строчка это в 4 раза меньше чем 4 строчки.

                                      С чего все и началось: то, что в руби одна строчка в питоне -- 4.

                                      >>В Питонии и с elif никто не жалуется, всё красиво и понятно:
                                      и повторять x в каждой строчке, да
                                      Ответить
                                      • > потому что 1 строчка это в 4 раза меньше чем 4 строчки.
                                        А трава зелёная, а небо голубое. Прямо всё время программиста уходит на набивание текста?

                                        > повторять x в каждой строчке, да
                                        Пальцы отсохнут? Зато избавились от одной конструкции -- облегчили язык.
                                        Ответить
                                        • >> Прямо всё время программиста уходит на набивание текста?
                                          Нет, часть уходит на чтение. Чем меньше текста -- тем легче его писать и читать, при условии конечно что понимание кода не падает.

                                          >>Пальцы отсохнут?
                                          В общем да, отсохнут. Кроме того switch имеет семантику: всё это проверки x, а в случае if else такой семантики нет

                                          >>Зато избавились от одной конструкции -- облегчили язык.
                                          Самый облегченный язык это Basic 1964 года: там нет итераторов, async await и прочих ненужностей
                                          Ответить
                                          • > Чем меньше текста -- тем легче его писать и читать,
                                            Ок, перехожу полностью на APL/J/K

                                            > Самый облегченный язык это Basic 1964 года
                                            Ещё скажи брейнфак. Я бы сравнил Питон с Паскалем, он для своего времени был хороший годный язык с простым синтаксисом
                                            Ответить
                                            • >>Ок, перехожу полностью на APL/J/K
                                              Ты прочитал что я написал?

                                              "Чем меньше текста -- тем легче его писать и читать, при условии конечно что понимание кода не падает. "

                                              >>Ещё скажи брейнфа
                                              Васик не изотерический же.

                                              Еще раз: я не говорю что питон плох, я всего лишь сказал что мне не хватает в нем некоторых вещей из руби, и что на питоне иногда приходится писать более вербозно. А ты завелся так, словно бы я обозвал питон говном.

                                              Он не говно, но в нем иногда надо писать более разжеванно и вербозно чем в руби. Это не очень приятно а кроме того не позволяет выебываться, а что за программист без выебонов?
                                              Ответить
                                  • > В руби есть бесконечные генераторы (от 0 до бесконечности) потому что они ленивые.
                                    Пффффь, у нас в Питонии тоже:
                                    from itertools import count
                                    for i in count(10): # от 10 до куда хочешь
                                        # ...


                                    > 0.upto(Float::INFINITY).lazy.select{|x| x % 64 == 0 && x % 3 == 0}.take(10).to_a #в массив)
                                    from itertools import count, islice
                                    a = list(islice(filter(lambda x: x % 64 == 0 and x % 3 == 0, count(0)), 10))
                                    # или
                                    a = list(islice((x for x in count(0) if x % 64 == 0 and x % 3 == 0), 10))
                                    
                                    # что на руби, что в Питонии - нечитаемое говно, лучше разбить на несколько строк:
                                    a = count(0)
                                    a = filter(lambda x: x % 64 == 0 and x % 3 == 0, a)
                                    a = islice(a, 10)
                                    a = list(a) # но можно и генеретором оставить


                                    > .each{|x| p "(#{x})"} # каждую напечатать)
                                    С for/in читаемее.

                                    > В руби есть оператор флип-флоп (из перла)
                                    # зачем зря усложнять йезыг?
                                    from itertools import takewhile, dropwhile
                                    for i in takewhile(isnotend, dropwhile(isnotstart, someseq)):
                                        # ...
                                    Ответить
                                    • ЗЫ. Я не говорю что руьи/перл говно, мне руьи даже нравится, я отмываю Питонию от твоих как, просто у этих языков разные идеологии.
                                      Ответить
                                      • Я тоже не говорю что питон говно.

                                        Я просто сказал: "в питоне в 4 строчки пишут то, что в руби можно написать в одну"

                                        Хорошо это или плохо -- решать не мне
                                        Ответить
                                    • >>Пффффь, у нас в Питонии тоже:
                                      3 строчки вместо одной

                                      >> что в Питонии - нечитаемое говно
                                      нет, оно в руби читаемое потому что постфик. А в питоне не читаемое.

                                      >>, лучше разбить на несколько строк:
                                      что и требовалось доказать

                                      >># зачем зря усложнять йезыг?
                                      зачем писать ненужное?
                                      Ответить
                                      • > 3 строчки вместо одной
                                        Это строка импорта и пример, сам генеретор это count(0).

                                        > в руби читаемое
                                        Ладно, убидил

                                        НО ПИТОНИЯ СЕРАМНО ЛУТШЕ ФСЕХ!!!111111
                                        Ответить
                                        • >>НО ПИТОНИЯ СЕРАМНО ЛУТШЕ ФСЕХ!!!111111
                                          Питония далеко не самая плохая.
                                          Ответить
                  • Пиздуй в Яндекс, раз такой охуенный.
                    Ответить
          • > перешел на делфи сразу как узнал, что массивы могут быть динамическими))

            Быдло, хули тут сказать. Выучить if/else, for, while - это поверхностно, не стоить даже говорить, что ты знаешь язык.

            > с удовольствием перешел бы на python, но на него спрос маленький

            Во всех топовых компаниях требуются python/ruby разработчики.
            Куча вакансий по php только благодаря веб студиям, которые плодят говно-сайты-визитки.
            Ответить
          • показать все, что скрытоvanished
            Ответить
        • показать все, что скрытоvanished
          Ответить
        • показать все, что скрытоvanished
          Ответить
      • >> зашибают бабло.
        зашибают бабло на доширак
        /fixed
        Ответить
    • Жить стало хорошо,жить стало весело. Гуест недо стихами заговорил. Что дальше Страйко введет предмодерацию комментов ?
      Ответить
    • аффтор не знает что такое $calar, да. и очень любит теории заговора.
      вот только причем тут порочность?

      >> рабовладельчество вещи над человеком
      фейспалм.бмп
      Ответить
    • Из python-dev:

      Hi all,
      I wanted to implement quantity objects in a software,
      which can be used with user-friendly expressions like:
      money = 3 * €, where Euro is a special quantity object
      But now I realized, Python does not allow currency
      characters in names, although they can be very useful.
      Is there a really convincing argument against the inclusion?
      
      Thank you!
      Ответить
    • Ну прям философ )))
      Ответить
    • Господа, ну что за манера, зачем чудный сайт полный неиссякаемого говнокода превращать в баш.
      Ответить
    • Прочитал 4-е слово и сразу понял кто писал.
      Ответить
    • > раздутая финансовая пирамида

      Уж не такая раздутая, как моя рожа
      Ответить
    • показать все, что скрытоvanished
      Ответить

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