Автор Тема: Быдлокодер  (Прочитано 10019 раз)

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Быдлокодер
« : 17 Июня 2008, 19:25:06 »
Программист — в общем случае это человек который пишет программы. Все программисты делятся на собственно программистов, быдлокодеров и хеллоуворлдщиков (расположены в порядке убывания профессионализма).

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

Хеллоуворлдщик
Само понятие хеллоуворлдщика тесно связано с одной из классических задач программирования (которая частенько решается самой первой при освоении языка программирования) — вывода на экран сообшения «Hello, world!».

Так решается эта задача в BASIC
10 PRINT "Hello, World!"
Или даже вот так в Quick/Turbo BASIC
? "Hello, World!
"Похожим образом в Python и Ruby:
print «Hello, World!»
Так — в Pascal:
begin  WriteLn('Hello, World');end.
Так — в C
# include <stdio.h> int main(){  printf("Hello, World!\n");  return 0;}
Так — в C++
# include <iostream> int main(){  std::cout << "Hello, World!" << std::endl;  return 0;}
Так — в простом и красивом, но малопопулярном языке Haskell (обратите внимание на прекрасную читаемость и простоту кода):
import qualified Data.ByteString as
BSimport System.IOmessage ::
[Char]message = ('H':'e':'l':'l':'o':',':' ':[])  ++  ('w':'o':'r':'l':'d':'!':[])putHelloWorld ::
[Char] -> IO()putHelloWorld (x:xs) =     Prelude.putChar(x) >> putHelloWorld xsputHelloWorld [] = Prelude.putChar('\n')main :: IO ()main =  hSetBuffering stdout NoBuffering >> hSetBuffering stdin LineBuffering     
>> putHelloWorld(message)

Чуть менее полный матана вариант кода на Haskell:
main = print "Hello, world!"
Нечитаемый вариант на языке BrainFuck
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Встроенный язык 1С:Предприятие
Сообщить("Привет, Мир!");
Кофеиновый код на языке Java
public class HelloWorld {  public static void main(String[] args) {    System.out.println("Hello, world!");  }}
ПэХэПэ
<?php  echo "Hello, world!"?>
Delphi:
procedure TForm1.FormCreate(Sender: TObject);begin  ShowMessage('Hello, world!');end;
Обычно хеллоуворлдщика можно ввести в транс, добавив в какойнибудь частоиспользуемый header-файл следующие строчки (ахтунг, C-specific!):

# ifndef DEFINE_ME
# error Fatal error! There must be some brain in your head!
# endif

Очевидно, что никакой сложности в решении такая задача из себя не представляет. Тем не менее, решив подобную задачу на каком-либо языке программирования, субъект чаще всего начинает oшибочно самоидентифицироваться с программистом.

Первые пишут операционные системы, драйвера и виртуозно ругаются матом на нескольких языках (включая Си и С++). Лохматы, небриты (зачастую бородаты). Часто имеют горящие ярким пламенем взор (вплоть до инфракрасноглазия).

Вторые пишут прикладной софт для операционных систем, которые для них написали первые. Матом обычно выражаться не умеют (тем более на Си или С++), работают с 9 до 5, пять дней в неделю, имеют семью — в общем являются обычным серым быдлом.

Зачастую программисты в шутку называют себя быдлокодерами (но это не умаляет их умения программировать), особенно данное явление распространено на имиджбордах. Так же сам процесс программирования обзывается как «быдлокодинг».

Быдлокодер
Понятие быдлокодера тесно связано с понятием индусского кода, которое также является одним из мемов Рунета. Быдлокодер — это человек, который считает рекурсию мемом башорга, не знает основных алгоритмов и тонкостей языка, на котором пишет, и поэтому использует неочевидные и абсурдные решения, а зачастую вообще использует исключительно готовые алгоритмы и программы, находя их на OpenSource.net или сайтах, подобных CodeGuru. Также быдлокодерами именуются программисты, пишущие исключительно на языках подобных VB, использующие .NET и привыкшие программировать мышкой, результатом чего является отсутствие языковой грамотности, понимания собственного кода и культуры программирования. Программы таких быдлокодеров никогда не бывают кроссплатформенными и редко бывают стабильными.

Стоит обратить внимание, что (чуть меньше чем все) быдлокодеры избегают использования форматирования кода (что, к примеру, вынудило фирму Microsoft разработать средства принудительного форматирования Visual Basic кода).

Ещё одна пагубная привычка быдлокодеров — давать функциям, переменным и тому подобным вещам русские имена на транслите (или кодировать кириллицей непосредственно).

Пример быдлокодерства на языке C++

void SprositiPolzovatela()
{for(int i=1;i<5;i++){printf("OK? (y/n) ");
scanf("%c",&c);
// bol'shie i malen'kie bukvi
if(c!='y' && c!='Y' && c!='n' && c!='N') i--;
else i=10;}}

Здесь человек, вместо того, чтобы организовать условный цикл, использует цикл со счетчиком и манипулирует переменной внутри цикла, уменьшая ее на единицу, если пользователь ввел недопустимые символы, организуя таким образом вечный цикл, или же присваивая ей значение, заведомо не проходящее условие продолжения цикла, таким образом, организуя выход из цикла. Более правильно этот участок кода нужно было бы написать так:

do{printf("OK? (y/n) ");   
scanf("%c", &c);   
c = toupper(c);}
while ((c != 'Y') && (c != 'N'));

Иногда быдлокодеры также зовутся индусами.

Очень часто быдлокодеры, ориентированные на веб, занимаются разработкой таких приложений, как дорвеи и дейтинги. В этом случае их любимым языком является PHP, который славится, как весьма быдлокодерский язык программирования. Как правило, PHP-быдлокодеры часто обсуждают «заработок в интернете» и прочую веб-скаммерцию.

Как правило половина из быдлокодеров еретики и подлежат анафеме. При заходе на православный ресурс или при чтении православного FAQ они испытывают жжение под ступнями и сухость во рту. Во многом, данный факт обусловлен тем, что большинство быдлокодеров используют языки, которые сами являются большой ересью.

Быдлокодерские языки программирования
Быдлокодерскими языками программирования считаются языки с низким порогом вхождения, а также те, которые используются в больших, очень индус-триальных проектах.

Цитировать
ПоХаПе
Delphi (один из апологетов принципа программирования путём рисования формочек мышкой)
Visual Basic (Король быдлокодерских языков) и VB Script
C# (принц быдлокодерских языков, наследник престола)
ASP
1С (бейсик, переведенный промтом)
ABAP4 (внутренний язык сапа)
FoxPro
Java


И хотя на этих языках пишут и нормальные программисты, но так как среди быдлокодеров они особенно популярны, эти языки программирования заслужили сию сомнительную славу. Кроме того, на просторах интернетов можно встретить очень большое количество быдлокодерских обсуждений, полных ФГМ чуть более, чем наполовину, связанных с вышеперечисленными языками.

Небыдлокодерские языки программирования
Небыдлокодерскими по определению являются ЯП с высоким порогом вхождения, а также полные матаном чуть более, чем полностью. С одной стороны, это всякая функциональщина и эзотерика, с другой — приближенные к железу и системе вещи.

Эзотерика:

Цитировать
BrainFuck
Forth


Низкоуровневые языки программирования:

Цитировать
Ассемблер
C


Функциональные ЯП:

Haskell

ML с диалектами и расширениями

Scheme / Common Lisp
Erlang


В отедельную категорию можно выделить олдфажские скриптовые языки, которые хоть и достаточно просты, но опираются в свою очередь на вещи, далёкие от быдла (например, Perl Regular Expressions).

Цитировать
Tcl
sh
Perl


Известные быдлокодеры
Павел Дуров
Ильхам Зюлькорнеев

Программист
Программист — это то, что вырастет из быдлокодера и хеллоуворлдщика, если они RTFM. Хотя, как показывает практика, из быдлокодера и хеллоуворлдщика никого не вырастает (в отдельных случаях вырастают конфигурасты на 1С, или эникейщики на Visual Basic).

Погромист — уменьшительно-неуважительно названный Программист


-------------------------------------
Источник: http://lurkmore.ru/Быдлокодер




Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #1 : 18 Июня 2008, 15:58:51 »
Попробуй Visual Studio
У меня на DC++ скачай

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #2 : 18 Июня 2008, 19:20:48 »
На фтп орн в руте лежит StrongDC.exe или что-то похожее, установи, потом зайди в
"Файл -> Настройки" там будет вкладка "Шара", укажи например где у тебя лежит музыка и фильмы, нажми "OK". Когда он всё проиндексирует, подключаешься заного и попадаешь туда, где все тусуются, что то типа чата в IRC. Там ищешь по вечерам юзверя с ником Ctulhu. Жмёшь на него два раза и заходишь в "_Library\_Developing" там лежат образы студии.

З.Ы.
DC++ (название произносят «диси-плас-плас», «дэцэ-плюс-плюс») — свободный файлообменный клиент сети Direct Connect для ОС Windows. Разработан как замена стандартному клиенту NeoModus Direct Connect.
Поддерживает хеширование и скачивание из нескольких источников. Имеет развитую функциональность чата.
Для осуществления файлового обмена необходимо подключение к серверу сети, так называемому хабу.
Поддерживает обмен данными по протоколам NMDC и ADC. Некоторые хабы поддерживают линкование — несколько хабов соединяются между собой для удобства пользователей. Подключившийся пользователь видит один «общий» хаб.

« Последнее редактирование: 18 Июня 2008, 20:30:25 от Романтик »

Оффлайн Mizrael

  • Постоялец
  • ***
  • Сообщений: 274
  • Карма: +0/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #3 : 18 Июня 2008, 21:46:37 »
Все люди делятся на две категории:
1) те, которые делят людей на две категории
2) те, которые не делят.
Это к вопросу о рекурсии.

А непосредственно по теме.
Быдлокодерство - хреновое явление. Начинающий программер становится быдлокодером тогда, когда он начинает мнить, что прочитав Кнута он стал мегакрут, что "время всегда дефицит, поэтому не надо заморачиваться на понимает того, как работает та или ина вещь". Брать чужие примеры - не зазорно. В конце концов - все мы учимся на каких-то примерах.
Jedem das seine

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #4 : 19 Июня 2008, 00:04:06 »
Ещё Страуструп))))

Моё мнение что готовые исходники, RAD средства развращают разум молодого программиста :)

Оффлайн odekolon

  • Новичок
  • *
  • Сообщений: 32
  • Карма: +1/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #5 : 19 Июня 2008, 22:44:33 »
Ещё Страуструп))))

Моё мнение что готовые исходники, RAD средства развращают разум молодого программиста :)

Ребят, хватит хаять визуальные системы. За ними в любом случае будущее! Благодаря ним хотя бы не надо кучу времени морочиться с интерфейсом и теми объектами, которые были сто раз писаны - переписаны!!!
Помню свои интерфейсы в ДОСе. Это ж полный пипец все это нарисовать. Построить модель, начиная от вывода данные напрямую в память, заканчивая последним уровнем абстракции, когда уже не задумываешься над построением своего же окошка.   8)
Если следовать ханженскую сообщению №1 в этой теме, то мы живем в сплошном мире быдло-строения, потому что все, что вокруг нас не строится с нуля. Все собирается из комлектующих и универсальных узлов, чтобы конечный разработчик мог абстрагироваться от ненужных ему элементов.
И Си между прочим язык не низкого уровня да будет Вам известно!!!! Кто хоть придумал, что Си - низкоуровневый язык???? Асм - да!  >:(

И в конце сообщения хочу заявить, что 1С программистов стоит называть полноценными прикладными программистами. Это особая платформа, которая требует неплохого ее знания. К тому же сама 1С-ка сама в себе не закрыта. Она отлично взаимодействует с другими приложениями по ОЛЕ.
А уж 8-ка - так это вообще произведение искусства. Ее особенности еще прошарить надо!  :)

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #6 : 19 Июня 2008, 23:40:17 »
Одеколон, ты наверна хеллоувордщик) Прочитай про то как язык Си создавался и для чего это вообще было нужно))))))))))))
И ещё тут никто не наезжает на RAD системы, они хороши когда нужно написать что то быстро, а если например ты решишь сделать что то с интерфейсом аля "Мастдай Офис" то ты умрёшь просто ковыряясь в формочках и кнопочках.

По поводу языка 1С... Там даже объектов нет........ OLE не берём....

Для тех кто в танке цитата с вики
Цитировать
Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют «универсальным ассемблером» или «ассемблером высокого уровня», что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам.

Компиляторы Си разрабатываются сравнительно легко благодаря относительно низкому уровню языка и скромному набору элементов. Поэтому данный язык доступен на самых различных платформах (возможно, круг этих платформ шире, чем у любого другого существующего языка). К тому же, несмотря на свою низкоуровневую природу, язык позволяет создавать переносимые программы и поддерживает программиста в этом. Программы, соответствующие стандарту языка, могут компилироваться на самых различных компьютерах.

Си (как и ОС UNIX, с которой он долгое время был связан) создавался программистами и для программистов, круг которых был бы ненамного шире круга разработчиков языка. Несмотря на это, область использования языка значительно шире задач системного программирования.

Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя лишних накладных расходов на итоговый код программы компилятором, как это всегда делают языки очень высокого уровня, такие как Бейсик.

Оффлайн odekolon

  • Новичок
  • *
  • Сообщений: 32
  • Карма: +1/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #7 : 21 Июня 2008, 13:39:34 »
Цитировать
Одеколон, ты наверна хеллоувордщик) Прочитай про то как язык Си создавался и для чего это вообще было нужно))))))))))))
:-X  :D Только никому не говори, что я хеллоуворд... Блин, еще выговорить-то надо!!!  ???
Цитировать
И ещё тут никто не наезжает на RAD системы, они хороши когда нужно написать что то быстро, а если например ты решишь сделать что то с интерфейсом аля "Мастдай Офис" то ты умрёшь просто ковыряясь в формочках и кнопочках.
Ну, с этим разве кто-то спорил! ;-)
Цитировать
По поводу языка 1С... Там даже объектов нет........ OLE не берём....
Объектов нет, что действительно обламывает. 1С++ (для 7.7) совсем делу не помогает :(
Но тем не менее, 1С - это все-таки вещь особенная. Набор встроенных объектов (справочник, документ и т.д.) достаточно ограничен, но все же при программировании необходимо знать особенности каждого, даже в плане быстродействия. Надо себе четко расписать концепцию той БД, которую разрабатываешь, ведь с ней будут работать люди. Зачастую в плане качества написания баз можно быть довольным только типовыми решениями, т.к. сторонние "разработчики" бомбят такую лажу, от которой порой становится плохо (при относительно высокой стоимости продукта).

PS. Про Си можешь не вести лекции. Историю знаю... :)

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #8 : 21 Июня 2008, 13:41:25 »
Но будущее не за ними :)
Смотря для какой платформы ты говоришь))))

Оффлайн odekolon

  • Новичок
  • *
  • Сообщений: 32
  • Карма: +1/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #9 : 21 Июня 2008, 13:54:20 »
Но будущее не за ними :)
Смотря для какой платформы ты говоришь))))
Интересно твое мнение, а как ты себе это будущее видишь?

Оффлайн Романтик

  • Продвинутый
  • *****
  • Сообщений: 1182
  • Карма: +33/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #10 : 21 Июня 2008, 14:46:21 »
Будущее за консолями. Сам работаю в этой области и просто в этом уверен судя по текущей тенденции)))
А на данный момент политика Apple гораздо лучше и выгоднее чем у Мастдая. И года через 2 его влияние ещё возрастёт :) А именно мне нравится система контроля ПО у Apple как у Nintendo, а именно лицензирования всего ПО. А это означает, что гавно всякое не пройдёт))) Чего не скажешь о политика для IBM.

Оффлайн fenix

  • HASTA LA VICTORIA SIEMPRE CON EL VERDE
  • Постоялец
  • ***
  • Сообщений: 363
  • Карма: +91/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #11 : 08 Июля 2008, 23:20:56 »
Ещё Страуструп))))

Моё мнение что готовые исходники, RAD средства развращают разум молодого программиста :)
Согласен на счет развращения :) Однако, в принципе, научиться программировать хорошо, можно изучая исходники опытных программистов (иначе придется постоянно изобретать велосипед). Например, сам в свое время просматривал даже исходники VCL от Delphi 3.0. Честно сказать, учился программировать на С на исходниках от Quake 2 и Quake 3 :) Кармак многое нам дал, особенно в плане - как делать это красиво ))
Главное не тупо использовать Copy/Paste, а пытаться разобраться в написанном. Правило простое, не разобрался досконально, не используй. Тогда обучение пойдет семимильными шагами :)
Помимо этого, есть нечто большее, чем просто глубокое знание синтаксиса и возможностей какого-либо языка. Я бы выделил, наверное, знание устройства той программно-аппаратной платформы, под которую приходится писать, и знание парадигмы программирования под которую разрабатывался сам язык. Имеются в виду, например, парадигмы используемые в С(процедурная) и С++(в основном объектно ориентированная и обобщенная, можно сказать что и функциональная, хотя это к Haskell :)).
Но научиться всему этому можно только постоянно практикуя, помня при этом, что на каждую хитрую ж0пу, найдется свой болт с левой резьбой, т.е. не считать, что знаешь все или почти все. Так просто не бывает. Областей в IT индустрии слишком много.

P.S.: На счет статейки про "Быдлокодерство" :) В общем верные выводы. Единственное, что в ней вызывает легкую "аллергию", так это мнение автора о том, что используемый язык говорит об уровне программиста. Об уровне говорит только качество самого кода и соотношение целей и средств, т.е. выбор конкретного языка для конкретных задач (Стоит ли, например, что-то писать на С/С++ или с этой задачей лучше, проще и быстрее справится обычный Shell скрипт :)).

Пожалуй исключение - Basic :D, на нем качественно написать врядли получится ))

Оффлайн fenix

  • HASTA LA VICTORIA SIEMPRE CON EL VERDE
  • Постоялец
  • ***
  • Сообщений: 363
  • Карма: +91/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #12 : 08 Июля 2008, 23:33:15 »
...Как правило половина из быдлокодеров еретики и подлежат анафеме. При заходе на православный ресурс или при чтении православного FAQ они испытывают жжение под ступнями и сухость во рту...
Просто убило!  :D :D :D :D ;D ;D ;D

Оффлайн tier

  • Продвинутый
  • *****
  • Сообщений: 1743
  • Карма: +244/-4
    • Просмотр профиля
Re: Быдлокодер
« Ответ #13 : 09 Июля 2008, 01:09:17 »
Пожалуй исключение - Basic :D, на нем качественно написать врядли получится ))
Как сказал один гуру программирования (не вспомню щас, кто) - если человек начинал изучение программирования с BASIC - из него никогда не выйдет хорошего программиста.
Но, жизнь показывает, что это не так - Линус Торвальдс начинал именно с него, и, думаю, ни у кого язык не повернется сказать, что он плохой программист. :)
Respect my authoritah!

Оффлайн fenix

  • HASTA LA VICTORIA SIEMPRE CON EL VERDE
  • Постоялец
  • ***
  • Сообщений: 363
  • Карма: +91/-0
    • Просмотр профиля
Re: Быдлокодер
« Ответ #14 : 09 Июля 2008, 15:25:50 »
Пожалуй исключение - Basic :D, на нем качественно написать врядли получится ))
Как сказал один гуру программирования (не вспомню щас, кто) - если человек начинал изучение программирования с BASIC - из него никогда не выйдет хорошего программиста.
Но, жизнь показывает, что это не так - Линус Торвальдс начинал именно с него, и, думаю, ни у кого язык не повернется сказать, что он плохой программист. :)
Заметь, я сказал что на нем качественно написать врядли получится, не более того ;) Этот язык ведь разрабатывался для обучения азам программирования (BASIC: Beginner's All-purpose Symbolic Instruction Code). А каково назначение языка, таковы и его возможности :)
По моему с него очень многие, если не все начинали. Помню свой первый компьютер на 8 разрядном Z80 от Zilog, ч/б ламповый телевизор Рекорд вместо монитора, огромные программы на встроенном бейсике, сохраняемые на аудио кассетах, и самое главное - жуткий интерес ко всему этому :D
Дело вообще не в языке как таковом, а в голове :) Если мама с папой не дали, то ничего не поможет. Гены... штука такая :) Поэтому спор о том что лучше, в принципе, бессмысленен как таковой.

fortuna

  • Гость
Re: Быдлокодер
« Ответ #15 : 15 Сентября 2008, 17:11:14 »
по моему пример который указан как не быдлокодерский на С++
является таким же образчиком его.  Пример именно приводится как С++
а юзается sscanf  :o

я бы написал приблизительно так
  • char YesOrNo()
  • {
  •         char reply;
  •         while( std::cin >> reply  )
  •         {
  •                 reply = toupper( reply );
  •                 if( reply == 'Y' || reply == 'N' ) break;
  •         }
  •        return reply;
  • }