dmitrik: (Tea Mood)
[personal profile] dmitrik
Отсюда:

Богатство доступных программистам опций сегодня просто чудовищно. Мы задохнулись под тем, что извергает рог изобилия. Последние несколько лет я зарабатывал на том, что писал на 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.

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

(no subject)

Date: 2014-10-21 08:47 pm (UTC)
From: [identity profile] fenikso.livejournal.com
Потому что надо смотреть в корень :)))

(no subject)

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

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

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

(no subject)

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

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

(no subject)

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

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

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

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

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

(no subject)

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

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

(no subject)

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

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

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

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

(no subject)

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

(no subject)

Date: 2014-10-23 08:30 am (UTC)

April 2022

S M T W T F S
     12
3 456789
10111213141516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 29th, 2025 03:51 am
Powered by Dreamwidth Studios