dmitrik: (Tea Mood)
dmitrik ([personal profile] dmitrik) wrote2014-10-21 04:57 pm

Рабочее

Отсюда:

Богатство доступных программистам опций сегодня просто чудовищно. Мы задохнулись под тем, что извергает рог изобилия. Последние несколько лет я зарабатывал на том, что писал на Java, Objective-C, C, C++, Python, Ruby, JavaScript, PHP (прошу прощения) с разными вариантами SQL/баз данных (MySQL, PostgreSQL, MongoDB, BigTable, Redis, Memcached и другими). Нравится ли это мне? Черт побери, нет. По большей части я просто чувствую вину за то, что не делал ничего на Erlang, Clojure, Rust, Go, C#, Scala, Haskell, Julia, Scheme, Swift или OCaml.

Я — жертва паралича разработчика: чувства ущербности из-за того, что индустрия софта развивается быстрее, чем может успеть один человек.
(мрачно) Как я его понимаю...

[identity profile] fenikso.livejournal.com 2014-10-22 11:43 am (UTC)(link)
Более сложные книги читать и более сложные концепции изучать :) Тогда половина языков просто не нужна, т.к. их "сильные стороны" уже известны / знакомы.

Помню, как я был впечатлен, увидев вариант try-finally в книге "On Lisp" - реализованный не как сахар в компиляторе, а как дополнительную конструкцию, средствами самого языка.

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

[identity profile] dmitrik.livejournal.com 2014-10-22 02:20 pm (UTC)(link)
Да ну, одно другого не заменяет. Я сам двумя руками за концепции и выход на более высокие уровни абстракции, но в том-то и проблема, что их знание делает низким порог вхождения в новый стек технологий, но не делает тебя специалистом в этом стеке. После вхождения нужно еще набирать и набирать экспертизу, сталкиваясь с теми самыми низкоуровневыми деталями, знание которых и делает тебя специалистом.

Вот и получается, что концепции концепциями, понимание сути пониманием сути, а пока не попишешь на этом всем — это просто теоретизирование. А вот пописать-то на всем этом множестве интересных штук времени и не хватает, вот в чем проблема.

[identity profile] fenikso.livejournal.com 2014-10-22 02:33 pm (UTC)(link)
>пописать-то на всем этом множестве интересных штук времени и не хватает
Ну так и я говорю - не разбрасываться. Если хочется много всего и сразу, то либо нет четких приоритетов / плана действий / понимания, что и зачем нужно, либо не жалко своего времени.

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

В общем, имхо основная проблема в том, что обучение путем "пописать на множестве языков" - пассивно по своей природе.

Ну и 99% всех production-ready языков примерно одинаковы между собой, у нас эпоха convergence по фичам наступает полным ходом.

Насчет "низкоуровневых деталей" - ну так невозможно быть специалистом в десятке языков, нужно выбрать 1-2 и специализироваться в них по максимуму, а на остальных языках писать pet projects и для развлечения.

[identity profile] dmitrik.livejournal.com 2014-10-22 02:50 pm (UTC)(link)
Мне есть что возразить по всем аргументам, кроме «не разбрасываться», но как раз именно он тему и закрывает. Так что да, не разбрасываться — это решение.

Просто иногда очень тянет поразбрасываться. Вот я знаю ASP.NET и PHP, и при этом время от времени думаю, что было интересно разобраться с Ruby + Rails или с Python + Django. И начинается...

[identity profile] fenikso.livejournal.com 2014-10-22 03:04 pm (UTC)(link)
:) Ну я не пытаюсь закрыть тему, просто тут уже "хобби" vs. "работа". С классическим распределением согласно поговорке "час vs. время", ввиду ограниченности ресурса. (ваш Captain Obvious)

Впрочем, исходный пост на английском был вообще о другом вроде, так что мы удалились :)

Ре-итерирую исходный посыл: смотрение в корень интереснее, имхо - есть много интересного вокруг, отличающегося от "yet another language / framework". Например (мой шорт-лист):
- распределенные и large-scale системы
- технологии виртуализации и их применений
- низкоуровневое системное программирование (think Linux kernel)
- CPU и их устройство + устройство железа
- GPU и их устройство / программирование

И это все только внутри классического IT, без биотеха и штук типа computer vision / robotics, etc.

[identity profile] dmitrik.livejournal.com 2014-10-23 05:46 am (UTC)(link)
Ну, у меня-то как раз хобби от работы гораздо ближе, чем у тебя, в силу специфики работы.

[identity profile] fenikso.livejournal.com 2014-10-23 08:30 am (UTC)(link)
:)