metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-01-22 09:30 pm

Языки программирования? По барабану.

По мотивам срачей с ребе айседом на тему "LISP/Clojure vs Java vs C++ vs Ruby vs Haskell" запишу свои тезисы, чтобы не забыть:

0) Выбор языка программирования - по сараю. Код никто не пишет. 90% работы - это общение с клиентами, писание требований, документирование, объяснение клиентам, почему их требования не имеют смысла, где взять готовый продукт, делающий нужное, и прочая и прочая.
Ход мысли не программиста-фанатика, мыслящего категориями "как и на чем писать", а категориямии руководителя-менеджера "зачем писать, какие ресурсы использовать для этого, какая будет прибыль и какие дальнейшие прибыли или убытки это за собой потянет".

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

2) Основная проблема - это не собственно выполнение работы (по моему, если не лезть в реализацию совсем уж новых концепций программирования, типа "а теперь мы сделаем хаскель, на котором можно писать низкоуровневые драйвера", то все мыслимое и немыслимое уже придумано и сделано, достаточно разобраться, склеить и скомпилировать), а заставить себя взяться за эту работу. Если язык при этом лезет под ноги всяким тупизмом, т.е. в 2012 году ВНЕЗАПНО не работает "искаропки" - отправляется в утиль.

Есть только одно неприятное следствие вышеуказанного: если так думать, заниматься "личными" проектами становится крайне затруднительно. Прибыли от них нет, приобретенное умение программировать уже НЕ НУЖНО, сделать что-то действительно новое и полезное - 90% будет не код, а анализ рынка, реклама, общение с коллегами, клиентами, заказчиками, опен-сорсным комьюнити и прочая.
А писать в стол всякое уныние, коего готового 100500 вариантов - нет вообще никаких стимулов.

Последнее время эта тема напрягает, т.к. я привык постоянно заниматься какими-то "интересными проектами", но постепенно требования к ним в силу моего перфекционизма переросли порог "можно сделать в свободное время не напрягаясь".

[identity profile] gineer.livejournal.com 2012-01-22 06:36 pm (UTC)(link)
+1

[identity profile] darkdrip.livejournal.com 2012-01-22 06:38 pm (UTC)(link)
ну я один раз очень удачно соскочил с гопнета на похапэ. и еще вспомните "язык программирования XSLT". на этот "язык" сейчас дохуя вакансий, для Инженеров с Высшим Образованием

[identity profile] nicka-startcev.livejournal.com 2012-01-22 06:40 pm (UTC)(link)
"для себя" надо делать не "нужное на рынке", а то, что нужно именно себе, именно с нужными себе рюшечками и при этом не найденное за разумное время.

Нужен какой-нибудь кофенапоминальник - пишем три строчки на авке/баше и добавляем в хоткеи шоб через 5 минут после нажатия выскакивало 'кофе готов'. Ну итд итп по аналогии.

[identity profile] metaclass.livejournal.com 2012-01-22 06:42 pm (UTC)(link)
XSLT и вообще диалекты XML это да. А шуму ж по их поводу было, капец.

[identity profile] metaclass.livejournal.com 2012-01-22 06:43 pm (UTC)(link)
У меня есть кофенапоминальник готовый.

А у меня к 3 строчкам на баше будет еще 100 строк инсталлятора, 200 документации, отдельный раздел в багтрекере и обучение пользованию этим жены и детей)

[identity profile] fas-tm.livejournal.com 2012-01-22 06:43 pm (UTC)(link)
>>объяснение клиентам, почему их требования не имеют смысла, где взять готовый продукт
Вычеркни ! :)
Выложив хуй во всю длину на стол, надо ответить
"О ! Да ! Мы сделаем это на лиспе, такого больше никто не сделает, вы будете первым долбоебом кто на это повелся"
И это прокатит, и будет новая история успеха :)

[identity profile] golosptic.livejournal.com 2012-01-22 06:44 pm (UTC)(link)
Основная проблема - это не собственно выполнение работы (по моему, если не лезть в реализацию совсем уж новых концепций программирования, типа "а теперь мы сделаем хаскель, на котором можно писать низкоуровневые драйвера", то все мыслимое и немыслимое уже придумано и сделано, достаточно разобраться, склеить и скомпилировать), а заставить себя взяться за эту работу

Отлито в граните.

[identity profile] darkdrip.livejournal.com 2012-01-22 06:46 pm (UTC)(link)
это говно _используют_. один раз встроили продукт, и не могут от него избавиться. теперь пачками набирают студентов из рти

о, забыл. PL/SQL и встроенные птичьи языки аля 1С. в ваши требования оно вписывается

[identity profile] darkdrip.livejournal.com 2012-01-22 06:47 pm (UTC)(link)
мы недавно спорили: http://ru-programming.livejournal.com/1298279.html
bash не нужен

[identity profile] metaclass.livejournal.com 2012-01-22 06:52 pm (UTC)(link)
PL/SQL не знаю, один раз прочел по нему книжку, но ни разу не использовал.
1C приходилось, гной редчайший.

[identity profile] denisioru.livejournal.com 2012-01-22 06:54 pm (UTC)(link)
Я использую XSLT. Ибо кое-где из одних и тех же данных получить разные по виду документы иначе затруднительно. Ну и как вариант - кастомизация и шаблонизация исходящих данных.

[identity profile] vit-r.livejournal.com 2012-01-22 07:07 pm (UTC)(link)
Всё было бы хорошо, если бы работало как написано. Поиск ошибок в том, что работает не так, как в документации занимает почти столько же времени, сколько создание с нуля "лёгкого" решения под конкретную задачу.

[identity profile] metaclass.livejournal.com 2012-01-22 07:09 pm (UTC)(link)
Это да. В своем коде ошибки искать проще.

[identity profile] inhate.livejournal.com 2012-01-22 07:10 pm (UTC)(link)
Ну так bash изначально не предназначен для програмистов.
В руках программиста shell scripting становятся оружием массвого уничтожения мозга.
Я видал _ПРОДУКТЫ_ написанные на KSH и Perl, больше не хочу.

[identity profile] theiced.livejournal.com 2012-01-22 07:10 pm (UTC)(link)
то есть гопнет и цэскрестиками вжёппу сразу

[identity profile] theiced.livejournal.com 2012-01-22 07:12 pm (UTC)(link)
в итоге тебе ОДНОМУ не хватает зп на еду. быгыгы.

[identity profile] theiced.livejournal.com 2012-01-22 07:13 pm (UTC)(link)
я видел продукты написанные на с++. хуле там ваш перл.

[identity profile] darkdrip.livejournal.com 2012-01-22 07:17 pm (UTC)(link)
govnokod.ru/6226
govnokod.ru/7190
govnokod.ru/565
govnokod.ru/5979
govnokod.ru/6315

вы каждый день вызываете подобного рода хранимки, даже не не догадываясь об этом

[identity profile] darkdrip.livejournal.com 2012-01-22 07:19 pm (UTC)(link)
я уже почти исправился. в любом случае меня в это говно силой затащили. не виноватая я

[identity profile] nicka-startcev.livejournal.com 2012-01-22 07:20 pm (UTC)(link)
>еще 100 строк инсталлятора

А что, в винде до сих пор нет вменяемых пакетных менеджеров с зависимостями? :)

А остальное - просто ужоснах.

[identity profile] eternal-leave.livejournal.com 2012-01-22 07:23 pm (UTC)(link)
рубироид гойловного моска

[identity profile] nicka-startcev.livejournal.com 2012-01-22 07:23 pm (UTC)(link)
Говно можно сделать на чем угодно.
а заведомо трехстрочную непродакшн мелочь лучше делать на том, что в данный момент под рукой.

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

ага, задача заведомо одноразовая. не продакшн на стопицот экземпляров в месяц.

[identity profile] darkdrip.livejournal.com 2012-01-22 07:24 pm (UTC)(link)
@#$:))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

[identity profile] trabloid.livejournal.com 2012-01-22 07:29 pm (UTC)(link)
все уже запрограммировано до нас (с)
нужно уметь его использовать ;)

[identity profile] metaclass.livejournal.com 2012-01-22 07:37 pm (UTC)(link)
гопнет, к ОЧЕНЬ БОЛЬШОМУ сожалению, не сразу. Он работает из коробки, а перестает работать, только когда ты добрался до середины проекта и решил заменить копипасту на обобщенный код.

Page 1 of 6