avva: (moose)
[personal profile] avva
Мнение Джо Армстронга, создателя языка Эрланг:
What would I recommend learning?

- C
- Prolog
- Erlang (I'm biased)
- Smalltalk
- Javascript
- Haskell/ML/OCaml
- LISP/Scheme/Clojure

A couple of years should be enough (PER LANGUAGE).

Notice there is no quick fix here - if you want a quick fix go buy "learn PHP in ten minutes" and spend the next twenty years googling for "how do I compute the length of a string"
Если по два года на строку, то получается 14 лет, хотя, может, он позволит некоторые из них одновременно?

Хотя, в общем-то, я двадцать лет этим занимаюсь, и не все языки из этого списка знаю (а зря; я сам может быть по-другому составил бы список, но все эти языки заслуживают внимательного изучения).

Date: 2013-01-25 08:30 am (UTC)
From: [identity profile] maxlethal.livejournal.com
А был ли у вас пост о вашем видении по этому вопросу?

Date: 2013-01-25 08:46 am (UTC)
From: [identity profile] avva.livejournal.com
Нет; только небольшой комментарий недавно о том, с какого языка начинать.

(no subject)

From: [identity profile] leroy-ru.livejournal.com - Date: 2013-01-25 09:06 am (UTC) - Expand

(no subject)

From: [identity profile] 109518.livejournal.com - Date: 2013-01-25 10:44 am (UTC) - Expand

(no subject)

From: [identity profile] leroy-ru.livejournal.com - Date: 2013-01-25 11:01 am (UTC) - Expand

(no subject)

From: [identity profile] 109518.livejournal.com - Date: 2013-01-25 12:11 pm (UTC) - Expand

Date: 2013-01-25 08:35 am (UTC)
From: [identity profile] xaxam.livejournal.com
1. Программирование в абсолютных кодах. Ассемблер как венец природы.
2. ФОРТРАН: всё, что нужно для того, чтобы СЧИТАТЬ и ВЫЧИСЛЯТЬ
3. Алгол: надо же теоретикам-алгоритмистам объясняться друг с другом (не машину же Тьюринга заводить!)
4. Паскаль, для девочек и тинэйджеров, - что хочу, то и нарисую...
5. HTML для гламурных
6. ТеХ для заумных...

Date: 2013-01-25 08:54 am (UTC)
romikchef: (штора)
From: [personal profile] romikchef
2 больших дырки в списке вижуя:
Во-первых, непонятна задача. Для чего учить? Если для того, чтобы небрежно обронить при случае, "я знаю карате, кунфу, дзюдо, джиуджитсу и много других страшных слов" - то да, список подходит идеально. Для веб-разработки же, скажем, РНР - лучшее из упомянутого.
Во-вторых, по факту фрейворк играет куда большую роль, чем базовый язык. Скажем, на определенные позиции весь список не будет стоить знания MFC.
Плюс опыт в предметной области. Умение без помощи гугля узнать длину строки слабо поможет при проблемах с БД или каким-нибудь специализированным протоколом.

Date: 2013-01-25 09:17 am (UTC)
From: [identity profile] yurri.livejournal.com
Ну это очевидно список для тех, кому интересна теория и разница в парадигмах, судя по тому, как построены строки списка. Я бы даже сказал, есть логика в порядке этих строк.

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

ИМХО

Date: 2013-01-25 10:37 am (UTC)
From: [identity profile] archaicos.livejournal.com
Для чего учить? Наверное для мозгового просветления, чтобы было понимание, что многие задачи можно решать разными способами, и на каких-то языках они решаются или проще, или быстрее, или эффективнее, или надёжнее, чем на других, а на каких-то и вовсе не решаются в рамках поставленной конкретной задачи (например, из вышеперечисленного мало на чём можно писать программы для устройств с памятью в несколько КБ, на Си, разве что, если не на форте или ассемблере, поправьте, если кого-то обделил вниманием).

В списке представлены языки из разных категорий: императивные, с ООП, декларативные, функциональные, смешанные. Понятно, что, в принципе, большинство задач можно решить на всём, но люди стараются подбирать инструменты (языки) наиболее подходящие для конкретных задач или расширять имеющиеся механизмы уже выбранного языка чем-то полезным из какого-нибудь другого языка, в частности и Domain Specific Languages изобретают из имеющихся кубиков.

Побочным эффектом серьёзного и длительного использования чего-нибудь маленького и примитивного типа Си или Лиспа является более глубокое понимание того, как работает процессор, комп, ОС и всякие разные библиотеки и фреймворки, что там внутри и как оно вертится. Это помогает с отладкой, и с оптимизацией, и с дизайном.

Чем лучше знаком арсенал инструментов, тем в общем лучше, хотя это может и не помочь в отдельных конкретных случаях, когда, например, просто не понятно как решать задачу в принципе. Помимо языков ведь ещё есть алгоритмы и тьма-тьмущая математики, знание и понимание которых периодически пригождается.

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 10:41 am (UTC) - Expand

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-25 10:59 am (UTC) - Expand

Date: 2013-01-25 10:57 am (UTC)
From: [identity profile] migmit.livejournal.com
> Для веб-разработки же, скажем, РНР - лучшее из упомянутого.

Если бы не эта фраза, можно было бы подумать, что вы говорите серьёзно.

(no subject)

From: [identity profile] ztarlitz.livejournal.com - Date: 2013-01-25 11:29 am (UTC) - Expand

(no subject)

From: [identity profile] migmit.livejournal.com - Date: 2013-01-25 11:40 am (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:05 pm (UTC) - Expand

(no subject)

From: [identity profile] potan.livejournal.com - Date: 2013-01-26 03:21 pm (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:00 pm (UTC) - Expand

(no subject)

From: [identity profile] meshko.livejournal.com - Date: 2013-01-25 01:32 pm (UTC) - Expand

(no subject)

From: [identity profile] potan.livejournal.com - Date: 2013-01-26 03:14 pm (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-26 04:44 pm (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:23 pm (UTC) - Expand

(no subject)

From: [identity profile] migmit.livejournal.com - Date: 2013-01-25 12:48 pm (UTC) - Expand

Date: 2013-01-25 11:28 am (UTC)
From: [identity profile] ztarlitz.livejournal.com
То о чем вы пишите (фреймворки) очевидно преподаваться должны не в университете, это уровень ПТУ в хорошем смысле слова. Университетское образование должно быть максимально широким, все эти фреймворки не стоят ничего, меняются каждый день, любой человек понимающий базовые вещи в состоянии освоить любой фреймворк самостоятельно.

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:15 pm (UTC) - Expand

(no subject)

From: [identity profile] ztarlitz.livejournal.com - Date: 2013-01-25 12:58 pm (UTC) - Expand

Date: 2013-01-25 08:57 am (UTC)
From: [identity profile] msh.livejournal.com
Я без гугла могу писать только на C.

Пост интересен тем, что показывает что же на самом деле изменилось в программировании и что он пропустил из-за консервативности. С современными IDE совершенно не нужно помнить как же получить длину строки - забыл size() это или length()? Нажми кнопку и IDE подскажет.

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

Date: 2013-01-25 10:23 am (UTC)
From: [identity profile] avva.livejournal.com
Я не пользуюсь IDE при программировании - мне кажется, что они больше меня отвлекают, чем помогают. Я пишу в vim с синтаксической подсветкой.

Мне кажется, что Армстронг не имеет в виду "выучить все стандартные библиотеки за два года" - это безумие их даже пытаться выучивать наизусть. Наверное, он имеет в виду, что за два года понимаешь слабые и сильные стороны языка и его экосистемы, начинаешь писать на нем в полную силу. Сформулирую это так: в T=2 года посмотрите на свой код, написанный в T=1 месяц; и в T=4 года посмотрите на свой код, написанный в T=2 года. Если в первом случае реакция ужас-ужас, а во втором намного более умеренная (пусть даже недовольство), то Армстронг прав.

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-25 10:53 am (UTC) - Expand

(no subject)

From: [identity profile] allvo.livejournal.com - Date: 2013-01-25 03:21 pm (UTC) - Expand

(no subject)

From: [identity profile] msh.livejournal.com - Date: 2013-01-25 04:19 pm (UTC) - Expand

(no subject)

From: [identity profile] bookworm-the.livejournal.com - Date: 2013-01-28 05:56 am (UTC) - Expand

Date: 2013-01-25 01:35 pm (UTC)
From: [identity profile] meshko.livejournal.com
Вы, надо думать, на PHP не работали. Это его осбенность, что без Гугла нельзя сделать ничего, потому что никакой внутренней логики нет в принципе. Про IDE для него я не знаю. Т.е. я к тому, что эта фраза -- скорее всего просто выпал против PHP, а не отсылка к тому, что мол, что-то нужно или не нужно помнить.

(no subject)

From: [identity profile] bolk.livejournal.com - Date: 2013-01-26 06:19 am (UTC) - Expand

Date: 2013-01-26 02:41 am (UTC)
From: [identity profile] vasja-iz-aa.livejournal.com
это список человека, который хочет создать свой язык

Date: 2013-01-25 09:09 am (UTC)
From: [identity profile] captain-tylor.livejournal.com
Javascript заменить на Javascript/Coffescript

Date: 2013-01-25 09:52 am (UTC)
From: [identity profile] potan.livejournal.com
2 года на язык программирования? Это документацию наизусть, что ли?

Date: 2013-01-25 04:57 pm (UTC)
From: [identity profile] meshko.livejournal.com
Это чтобы быть на уровне senior developer, я считаю.

(no subject)

From: [identity profile] potan.livejournal.com - Date: 2013-01-26 02:57 pm (UTC) - Expand

Date: 2013-01-25 10:45 am (UTC)
From: [identity profile] lelia-br.livejournal.com
2 года на один язык - это надо было когда компьютерное время тяжело было получить. Я считаю нужна 1-2 недели для ознокомления и пару больших проектов чтоб разобраться что к чему. Т.е. 2-3 месяца интесивной работы на одном языке если сталкиваешься с разнообразными проблемами, а не просто пишешь что-то однообразное.

Date: 2013-01-25 10:57 am (UTC)
From: [identity profile] archaicos.livejournal.com
C - долбанутый язык при всей своей простоте и примитивности. На него годы уходят, особенно если изучать его где-нибудь и как-нибудь. Ещё хуже C++. Я бы не преуменьшал необходимое время на познание языка.

(no subject)

From: [identity profile] lelia-br.livejournal.com - Date: 2013-01-25 11:00 am (UTC) - Expand

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-25 11:12 am (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:08 pm (UTC) - Expand

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-25 12:20 pm (UTC) - Expand

(no subject)

From: [personal profile] romikchef - Date: 2013-01-25 12:34 pm (UTC) - Expand

(no subject)

From: [identity profile] amarao-san.livejournal.com - Date: 2013-01-25 11:05 pm (UTC) - Expand

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-26 12:25 am (UTC) - Expand

(no subject)

From: [identity profile] amarao-san.livejournal.com - Date: 2013-01-26 01:14 am (UTC) - Expand

(no subject)

From: [identity profile] archaicos.livejournal.com - Date: 2013-01-26 06:52 am (UTC) - Expand

(no subject)

From: [identity profile] amarao-san.livejournal.com - Date: 2013-01-26 02:41 pm (UTC) - Expand

Date: 2013-01-25 12:18 pm (UTC)
From: [identity profile] akalenuk.livejournal.com
О! А этот пост объясняет, почему мне нравится Эрланг :-)
Правда, принципиального различия по мере воздействия на голову между Прологом и Эрлангом я, например, не вижу.

Date: 2013-01-25 06:09 pm (UTC)
From: [identity profile] avva.livejournal.com
А я до сих пор не изучил Эрланг, хоть и хочу. А Пролог знал и любил, правда много лет назад.

(no subject)

From: [identity profile] akalenuk.livejournal.com - Date: 2013-01-25 06:48 pm (UTC) - Expand

Date: 2013-01-25 02:53 pm (UTC)
From: [identity profile] a-konst.livejournal.com
Недавно вот на работе как раз обсуждали, что функциональные языки очень модны уже много лет, но что-то никто не встречал ни одной вакансии, где бы требовался Haskell или Lisp :)

Date: 2013-01-25 03:12 pm (UTC)
From: [identity profile] leroy-ru.livejournal.com
Ну по эрлангу вакансии есть.

(no subject)

From: [identity profile] meshko.livejournal.com - Date: 2013-01-25 04:56 pm (UTC) - Expand

(no subject)

From: [identity profile] francis-drake.livejournal.com - Date: 2013-01-25 06:07 pm (UTC) - Expand

(no subject)

From: [identity profile] amarao-san.livejournal.com - Date: 2013-01-25 11:03 pm (UTC) - Expand

(no subject)

From: [identity profile] nalivalovo.livejournal.com - Date: 2013-01-26 01:36 am (UTC) - Expand

Date: 2013-01-25 07:30 pm (UTC)
From: [identity profile] b0p0h0k.livejournal.com
Года 34 назад, когда я только начал прикасаться к программированию на БЭСМ-6, я подумывал о разработке некой прикладной программы. В своих поисках я спросил у одного гуру тех мест, какой бы мне язык было сподручнее для этой задачи использовать.
Гуру так сказал.
Если ты совсем чайник, пиши на фортране.
Если опытный - на паскале.
Если совсем крутой, то на БЕМШе (это такой ассемблер для той ЭВМ).
А если ты гуру - то на фортране.

Date: 2013-01-25 09:20 pm (UTC)
From: [identity profile] cema.livejournal.com
Фортран у гуру не совсем такой, как у чайника.

(no subject)

From: [identity profile] trurle.livejournal.com - Date: 2013-01-25 10:56 pm (UTC) - Expand

(no subject)

From: [identity profile] cema.livejournal.com - Date: 2013-01-29 11:39 pm (UTC) - Expand

(no subject)

From: [identity profile] trurle.livejournal.com - Date: 2013-01-30 04:54 am (UTC) - Expand

Date: 2013-01-25 11:01 pm (UTC)
From: [identity profile] amarao-san.livejournal.com
Почему изучение языка должно занимать два года? Если человек знает Си, Хаскель и Схему, то сколько времени он потратит на JS? А вместе с коффескриптом или чем-то подобным?

Date: 2013-01-26 03:44 pm (UTC)
From: [identity profile] potan.livejournal.com
Времени не много, но нервов...

Date: 2013-01-27 12:48 am (UTC)
From: [identity profile] vnarod.livejournal.com
А зачем это всё? Программист должен решать реальные задачи, а не создавать произведения искусства. 99% любых програм, используемых на PC, можно и удобнее всего сегодня написать на VB.NET, даже С никакого не нужно. Добавим Pearl/HTML для интернета и получим 99.5% програм.
From: [identity profile] anhinga-anhinga.livejournal.com
У меня странный вопрос. Знакомые израильтяне говорят, что Питона в Израиле очень мало (в отличие, скажем, от США).

Не знаете ли, в чём причины такой ситуации, и есть ли тренд в стороны увеличения популярности Питона в Израиле, или такого тренда, скорее, нет.

(В Гугле, конечно, Питон широко используется, но я не знаю, так ли это в израильком отделении Гугла.)
Edited Date: 2013-01-27 06:12 pm (UTC)

Date: 2013-01-27 07:23 pm (UTC)
From: [identity profile] xen0n.livejournal.com
LUA - потому что можно удобно вставлять его в свои программы, чтобы вводить сложную пользовательскую логику. Типа как встроенный в 1С язык программирования. Завтра изменят формулу расчета налога - и можно не меняя программы изменить логику. и мобы в WoW насколько знаю, тоже логику на lua имеют.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 02:17 pm
Powered by Dreamwidth Studios