Re[5]: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 00:06
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>JavaScript вылез потому что только он был запихнут в броузеры и не имеет там конкуренции.


JS вылез по причине того, что его что его поддерживали MS и Netscape. Хоть и в разных направлениях поддерживали, но именно они затратили немеряно ресурсов, чтобы JS состоялся как язык.
Потом взялся на осколках netscape выролся компания mozila, которая фактически за деньги гугла развивала JS.
Потом сам гугл вместе с V8.
А последние пару-тройку лет снова подключился MS.

Если внимательно посмотреть историю JS, то язык развивался волнами, которые как раз поднимались крупными корпорациями.

ЗЫ. Торговая марка JavaScript принадлежит ораклу.
Re[4]: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 00:37
Оценка: +4
Здравствуйте, mapnik, Вы писали:

M>Я не специалист по Go, но мне кажется он начинает стремительно набирать популярность в долине. Docker — хороший тому пример


Это лишь следствие пиара гугла. Реально язык так себе получился.
Re[5]: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 00:41
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, mapnik, Вы писали:


m>> А у пхп вообще нет киллер апп и киллер фич. А он на пике популярности.


AB>Либо я не совсем понимаю смысла словосочетания "киллер апп", либо у php все же дофига киллер-фитч и этих самых апп.


У ПХП была и есть всего одна киллер-фича — писать код в разметке страницы. На момент появления эти фича дала огромный толчок вебу.
Re: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 01:13
Оценка: 21 (1) +1
Здравствуйте, Mamut, Вы писали:

M>Или просто достаточно оказаться в нужное время в нужном месте?


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

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

Поэтому новому языку для прожвижения нужно много бабла и поддержка крупной компании.
Re: За счет чего выстреливают языки?
От: Pavel Dvorkin Россия  
Дата: 10.07.15 01:41
Оценка: 84 (8) +5 :)
Здравствуйте, Mamut, Вы писали:

Давай посмотрим

1. Фортран — за счет того, что не было ничего. Закрыл нишу.
2. Алгол -60 — за счет того, что надо было соответствовать неким принципам (структурное программирование), которым Фортран не соответствовал. Закрыл нишу.
1A. Опять Фортран. Отнюдь не вытеснен Алголом, так как имеет мощную поддержку со стороны IBM, которая его любит, а Алгол-60 почему-то невзлюбила.
3. Кобол — за счет того, что надо было решать экономические задачи. Закрыл нишу.
4. С — за счет того, что нужен был язык системного программирования, но при этом не ассемблер. Закрыл нишу.
5. С++ — за счет того, что надо было соответствовать неким принципам (ООП). Закрыл нишу.
6. Бейсик во всех его разновидностях. За счет того, что нужен был язык более простой, чем существовавшие, пригодный для непрофессионалов. Закрыл нишу.
7. Паскаль. За счет мощной поддержки тогдашнего гиганта Borland. До этого влачил довольно жалкое существование, после ухода Borland влачит примерно такое же.
8. Java. За счет того, что нужен был язык для апплетов. Правда, апплеты никуда не пошли, но язык нашел себе другую нишу — серверное программирование. Закрыл нишу.
9. C#. В общем-то, на момент появления особо и не нужен — та же Java на 95%. За счет мощной поддержки Microsoft. На платформах, отличных от Windows, влачит довольно жалкое существование из-за того, что там Microsoft не распоряжается как у себя дома.
10. JavaScript. За счет того, что нужен был язык для программирования в среде браузера. Закрыл нишу.

Резюме : либо закрывает имеющуюся нишу, либо имеет мощную поддержку со стороны софтверного гиганта, который в состоянии его навязать миру.

При этом стоит отметить, что для первого случая успех практически гарантирован. Съедят любое, что появится, лишь бы нишу закрывало. C по синтаксису — вообще-то чудовище. Но закрыл нишу. Если бы Вирт сделал Паскаль с возможностями, который имел C, может быть, Паскаль занял бы то место, которое заняли C и C++. Но Вирт сделал академический язык, а когда Borland его довела до ума, ниша уже была занята C

А вот во втором случае поддержки гиганта недостаточно. Язык и впрямь должен быть хорош. VBScript поддержку имел, но прожил недолго и сейчас остался разве что в .vbs скриптах в Windows. PL/1 тоже имел поддержку IBM, но язык — монстр, и как только нашлось чем его заменить — скончался.

Если язык сам по себе и неплох, но хотя бы одному из этих критериев не удовлетворяет, то не взлетит.

Алгол-68 нишу не закрывал, поддержки не имеел
Ada — нишу не закрывала, поддержку имела только от Министерства обороны США, поэтому только там и обретается.
D — нишу не закрывает, поддержки не имеет
Nemerle (оставим его преимущества на совести VladD2 ) — то же самое
With best regards
Pavel Dvorkin
Отредактировано 10.07.2015 2:02 Pavel Dvorkin . Предыдущая версия .
Re[5]: За счет чего выстреливают языки?
От: mapnik США http://www.hooli.xyz/
Дата: 10.07.15 06:37
Оценка: -1 :)
Здравствуйте, VladD2, Вы писали:

VD>AT&T (Bell Labs)

Да ладно. Он просто был там придуман и кстати широкую популярность получил абсолютно безо всяких усилий Bell Labs

VD>Это только кажется. А, так он 99% народа и на фиг не нужно. Go даже к мэйнтриму не принадлежит.

VD>Сейчас мэйнстрим это: Java, C#, C++, C, JavaScript, Python, Objective C. Остальное все на уровне статистической погрешности.
Есть много популярных языков не принадлжеащих мейнстриму. SQL например или PHP. Поэтому это субъективно.
Re[6]: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 06:52
Оценка: +2
Здравствуйте, mapnik, Вы писали:

M>Здравствуйте, VladD2, Вы писали:


VD>>AT&T (Bell Labs)

M>Да ладно. Он просто был там придуман и кстати широкую популярность получил абсолютно безо всяких усилий Bell Labs
Широкую популярность C++ получил потому что был улучшенной версией C, который тоже был придуман в bell labs.

VD>>Это только кажется. А, так он 99% народа и на фиг не нужно. Go даже к мэйнтриму не принадлежит.

VD>>Сейчас мэйнстрим это: Java, C#, C++, C, JavaScript, Python, Objective C. Остальное все на уровне статистической погрешности.
M>Есть много популярных языков не принадлжеащих мейнстриму. SQL например или PHP. Поэтому это субъективно.
PHP тоже мейнстрим, а sql это фактически dsl, а не полноценный язык.
Re[5]: За счет чего выстреливают языки?
От: mapnik США http://www.hooli.xyz/
Дата: 10.07.15 07:05
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Ты выдумываешь проблему. Реальная проблема в том, что люди ждут брэнда с баблом. Все остальное вторично. Конечно, дерьмо и брэнд с баблом не раскрутит, но хорошие вещи без брэнда с баблом тоже не взлетают или взлетают по феерическому стечению обстоятельств.

Нет люди ждут брэнда. А бабло подтягивается уже после. Как это было с java, c++ и javascript.
Либо пытаются натягивать сову на глобус как в случае c#.

Оба пути работают вот что я хочу сказать.

VD>Многие пытались объяснять преимущества. И слушающие даже соглашаются, что преимущества есть. Но потом они идут дальше колбасить код на жабаскрипе.

Значит "чего-то не хватает для ...". И пока вы это не исправите, ничего не получится. Просто если это дерьмо, то оно уж точно не взлетит без бобла, согласны? Легко сказать "не взлетит — нет бабла". Надо сделать так чтобы слегка взлетело без бабла. А потом и деньги подтянутся, как это было с java.

VD>Более того. Попытки "евангилизма" от частных лиц приводит к появлению раздражения. Народ начинает воспринимать эти демонстрации, как назойливую рекламу.

Надо поднимать тему через реальные проекты. Я вам привел пример Docker. До этого момента я в принципе не рассматривал Go как язык. Просто морщился когда мне говорили "вот новая волна — go, rust, d". Сейчас уже есть подвижки в сознании того что в принципе go можно использовать где-то.
Re[7]: За счет чего выстреливают языки?
От: mapnik США http://www.hooli.xyz/
Дата: 10.07.15 07:09
Оценка: -6
Здравствуйте, gandjustas, Вы писали:

G>Широкую популярность C++ получил потому что был улучшенной версией C, который тоже был придуман в bell labs.

Спасибо что повторяете мои слова!

G>PHP тоже мейнстрим, а sql это фактически dsl, а не полноценный язык.

1 — нет не мейнстрим. Мейнстрим это — java, c и его производные (obj c), c++, c#, javascript. Python скорее нишевой язык чем мейнстрим.
2 — про sql — это вас на курсах 1С и шарепоинта научили? мы тут вообще-то о серьезных вещах дискутируем а не о шарепоинте
Отредактировано 13.07.2015 21:41 VladD2 . Предыдущая версия .
Re: За счет чего выстреливают языки?
От: Гест Украина https://zverok.github.io
Дата: 10.07.15 07:34
Оценка: 201 (15) +7
Здравствуйте, Mamut, Вы писали:

M>Конечно, хотелось бы сначала определиться с понятием «выстреливают», но, думаю, в современном мире для определения «выстреливания» достаточно пары-тройки книг, наличие хотябы одной-двух конференций/митапов по языку и относительно большое коммьюнити (измеряемое хотя бы количеством проектов на GitHub'е).


Ах, давно не брал я в руки шашек!

Давайте будем говорить не выстреливают, а взлетают. Более полезная метафора. Потому что выстрелить можно один раз и либо попасть, либо нет (что в случае ЯП мало похоже на реально происходящие процессы), а взлетать можно долго; а потом лететь высоко или низко, быстро или медленно, устойчиво или кое-как.

Так вот.

Определение: Взлетевшим считать язык, на котором можно найти работу. Причём не в «единственной конторе-экспериментаторе, которая почему-то пишет на этом языке», а хотя бы в столице любой европейской страны («переехать из Витебска в Минск» ок, даже наверное «наняться удалёнщиком в одну из сотен контор в Штатах и Германии» ок; «есть две компании, в которых по слухам одно подразделение экспериментирует с этим языком» не ок).

Определение это хорошо тем, что оно: а) в разумной степени однозначное; б) полезное для любого программера (вижу интересный язык — стоит ли его изучать с прагматической точки зрения?)

Легко заметить, что по этому определению «взлетело» вовсе не 5 ЯП за всю историю человечества (что было бы скучной идеей, на фоне которой разговаривать не о чем — хотя, я понимаю, приятной для любителей того же Nemerle: «так ничего ж не взлетает! вот и у нас...»). Их, мягко говоря, немножко больше. И более того, именно сейчас rant'ы вида «не, чуваки, вот этот новый язык лучше подходит для сегодняшних задач» появляются ежедневно — потому что и задачи меняются ежедневно (больше «научных» задач в мейнстриме, роботы, мобильники, космос вот это вот всё... XXI век, короче).

Далее: чтобы разобраться, что взлетает и почему, хорошо бы посмотреть, как языки «выходят на взлётную полосу», и как «набирают подъёмную силу».
Что для этого нужно?

1. Попадание языка в «область видимости» большого числа программеров. Сюрприз: чуваков, которые недовольны своим нынешним ЯП, очень много. Они регулярно ищут, исследуют, пробуют всякое «о чём говорят вокруг».
Для этого язык должен быть например представлен на разных программерских конфах — локальных и больших всемирных (от чего в сети остаются слайды); должны появляться статьи и записи в блогах — не только обзорные «что такое Немерле», а — всякие: практические решения типа «как мы переписали наш парсер JSON на Немерле, и уменьшили код в 100 раз!», сугубо теоретические — «Об эффективной имплементации макросов в высокоуровневом языке», новостные и отчётные: «Немерле 3 года! Зацените, какие крутые фичи появились в этом году»; шоукейсы, сравнения с другими ЯП (в т.ч. friendly сравнения), простейшие туториалы «ваша первая программа на Немерле: рисование фракталов!»
Понятно, что когда язык обсуждают на Reddit, Hacker News, когда энтузиасты других языков начинают писать завистливые статьи («как мы можем реализовать акторы из Scala в Руби...») — он уже готов к взлёту.

2. Наличие ниши. Это вовсе не означает, кстати, наличия незанятой ниши! Это означает что сообщество языка чётко понимает и может объяснить на пальцах «Nemerle is for you, if .... Nemerle is NOT for you, if ....» — а также, как именно «Nemerle is for you».
Например, Scala в последнее время вполне себе взлетает, как язык а) «для умных» (высокопродуктивных программистов) но б) под JVM (доступна вся экосистема) и притом в) компилируемый и быстрый (по сравнению с Питонами-Руби). Соответственно, на Scala переходят, скажем, в разработке вёба — с «медленных» языков (динамических) те, кто не хотел писать на «тупой» Java; и собственно джависты — кому хочется чего-нибудь более крутого. То есть ниша может выглядеть и как «ваша привычная экосистема + язык лучше».

3. Наличие понятного старта. Как начать писать первую программу? Где посмотреть language guide и оценить список фич и их синтаксис? Какие мне доступны библиотеки на этом языке и как их устанавливать, есть ли менеджер зависимостей? А как код на этом языке интегрировать с какими-нибудь другими (и наоборот)? И т.п.
Более того, «понятный старт» — это скажем возможность «начать следить за языком в надежде однажды его может быть и использовать»: есть рассылка? Есть блог основного разработчика? Есть раздел «Новости» на сайте языка, с живыми и интересными новостями? Что мне сделать, если язык мне в принципе интересен, но я пока не знаю, когда будет время на него подробнее посмотреть?

При этих трёх пред-условиях — и если язык сам по себе интересный — с некоторой вероятностью будет прирост «любопытных и энтузиастов», которые взяли его покрутить на хобби-проект или маленькую библиотечку, написали про то статью в бложек, поговорили со знакомым на конференции, предложили для использования на маленьком тестовом проекте и т.д. Всё это может привести к медленному, но устойчивому развитию — а может к внезапному резкому подъёму (если кто-нибудь из энтузиастов окажется гением и напишет например такой офигительно клёвый IoT-фреймворк, что потом ещё десять лет все остальные языки будут пытаться его «слизать»).

Такие какие-то дела.

PS: необязательная ссылка: европейская конфа «энтузиастов языков программирования» со стейтментом: «Our mission is to promote polyglot approach to software development and foster cross-pollination between various technologies and their communities.» Оцените список языков, которые докладчики заявили (в разделе Speakers): http://polyconf.com/
Re[8]: За счет чего выстреливают языки?
От: Гест Украина https://zverok.github.io
Дата: 10.07.15 08:13
Оценка:
Здравствуйте, mapnik, Вы писали:

G>>PHP тоже мейнстрим, а sql это фактически dsl, а не полноценный язык.

M>1 — нет не мейнстрим. если бы вы были настоящим программистом вы бы это знали. Мейнстрим это — java, c и его производные (obj c), c++, c#, javascript.

А можно узнать ваше определение «мейнстрима», и как считать, какой язык к нему относится, а какой нет?
Или определение так и выглядит: «Мейнстрим это — java, c и его производные (obj c), c++, c#, javascript», оно выбито на камне в начале времён и неизменно?
Re: За счет чего выстреливают языки?
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 10.07.15 08:24
Оценка:
M>Или просто достаточно оказаться в нужное время в нужном месте?

Название языка не должно начинаться с "Nem" и заканчиваться на "erle".
Re[2]: За счет чего выстреливают языки?
От: Nuseraro Россия  
Дата: 10.07.15 08:43
Оценка:
Здравствуйте, antropolog, Вы писали:

A>вторая теория.


A>... всё остальное взлетает только с годными фреймворками для конкретной доменной области...


Да, как бы не твердили об "умении программировать вообще", конкретика фреймворков и наработок решает. Есть очень странные языки, типа фортрана или ады, которые отлично продолжают жить в своих отраслях, хотя морально старее устарелого.
Homo Guglens
Отредактировано 10.07.2015 8:45 Nuseraro . Предыдущая версия .
Re[3]: За счет чего выстреливают языки?
От: zz-sergant Россия https://bitbucket.org/zzsergant/hgsccpackage/wiki/Home
Дата: 10.07.15 09:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Отличный пример Nemerle и C#. Nemerle появился 10 лет назад и уже тогда имел кучу удобных и полезных возможностей которых и по сей день нет в C#. C# на прояжении этих 10 лет по крупицам втягивает фичи Nemerle, причем, так как втягивает он их эволюционным путем, получается не всегда чисто и красиво. Но на C# пишут миллионы, а на Nemerle, грубо говоря, единицы. Многие из тех кто пишет на C# знают о Nemerle и о его возможностях, но они даже не берутся за него. Отмазок море. Но суть одна. Они ждут всего того же самого от Майкрософт. Причем о том, что они этого ждут они узнают со временем. Первая реакция, обычно, непонимание и неприятие тех самых крутых возможностей.


Интересуюсь языком Nemerle с 2007-го года.
Т.е. как язык, он меня устраивал еще тогда.
Но проблема в том, что помимо языка должна быть нормальная поддержка со стороны средств разработки (в данном случае MS Visual Studio), и вот с ней как раз проблемы.

Я в 2011-м уже писал список проблем, который мешал мне использовать Nemerle для своих проектов:
здесь
Автор: zz-sergant
Дата: 20.06.11


Под нормальными я понимаю следующий минимум:
  1. поддержка конфигураций x86/x64 в одном проекте
  2. подключение C++/CLI mixed сборок без потери intellisense и/или проблем компиляции
  3. поддержка со стороны интеграции проекта Nemerle в студию интерфейса работы с системами контроля версий MS SCC Package API

Возможно, для кого-то эти проблемы покажутся не существенными, но я думаю, что на подобного рода проблемах интеграции/поддержки в студии отвалилось много потенциальных пользователей языка.
-- team zz
Re[3]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 10.07.15 11:40
Оценка: +5
M>>2) Ранние адепты технологии должны быть реально круты чтобы растолковать все качество платформы для средних программистов.

VD>Это бесполезно. Эффект Блаба никто не отменял. Люди будут как бараны смореть на твою крутую вещь и не понимать ее крутости.

VD>Отличный пример Nemerle и C#. Nemerle появился 10 лет назад и

За 10 лет у Нмерле не появилось ни сайта, ни книг, ни коммьюнити, ни документации, ни приложений. В отличие от того же <вставить сюда любой язык, более-менее взлетевший за последние 10 лет, даже тот, у которого нет ни бабла ни веры>.

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


dmitriid.comGitHubLinkedIn
Отредактировано 10.07.2015 11:49 Mamut [ищите в других сетях] . Предыдущая версия .
Re[2]: За счет чего выстреливают языки?
От: Mamut Швеция http://dmitriid.com
Дата: 10.07.15 11:44
Оценка:
G>Веб уже давно поделен.

Не скажи. Например, Clojure со своим ClojureScript'ом туда лезет достаточно активно. Ну и в каждом первом языке есть свои фреймворки и библиотеки для веба.

G>На устройствах вендоры диктуют свои правила и там крайне сложно пролезть.


Смотря какие устройства Но да, тут поле действий очень фрагментировано и условия игры непонятны.

G>В системном программировании C сидит так плотно, то нет смыла влезать (ведь API любой ОС сейчас на C).

G>Поэтому новому языку для прожвижения нужно много бабла и поддержка крупной компании.

Кто поддерживал и продвигал Clojure и Scala, например?


dmitriid.comGitHubLinkedIn
Re[8]: За счет чего выстреливают языки?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.07.15 12:00
Оценка: +3
Здравствуйте, mapnik, Вы писали:

M>Python скорее нишевой язык чем мейнстрим.

Нифига себе не мейнстрим. На нём пишут:
— автоматизацию тестирования;
— научное программирование, статистика;
— веб программирование;
— standalone приложения (см. Dropbox);
— игровые скрипты;
— embedded язык в приложения;
— язык разработки GUI (см. Unity от Canonical);
— просто автоматизация, замена шелла;
— язык для обучения программирования (см. как MIT заменил Scheme на Питон).

То есть язык — да, нишевый. Но таких ниш с десяток.
Re[9]: За счет чего выстреливают языки?
От: mapnik США http://www.hooli.xyz/
Дата: 10.07.15 12:40
Оценка: -3 :)
Здравствуйте, Nuzhny, Вы писали:

N>То есть язык — да, нишевый. Но таких ниш с десяток.

Python прекрасный язык, я сам на нем периодически решаю некоторые задачи. Но это не мейнстрим (почему, вы сами написали). Это не плохо, это факт.
Re[10]: За счет чего выстреливают языки?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.07.15 13:07
Оценка: +5
Здравствуйте, mapnik, Вы писали:

N>>То есть язык — да, нишевый. Но таких ниш с десяток.

M>Python прекрасный язык, я сам на нем периодически решаю некоторые задачи. Но это не мейнстрим (почему, вы сами написали). Это не плохо, это факт.

Да что же такое мейнстрим?! Если язык применяется массово в десятке областей, по нему есть книги, курсы в том числе университетские, предлагают работу, есть конференции. И это, блин, не мейнстрим?
Re[8]: За счет чего выстреливают языки?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.07.15 13:23
Оценка: 11 (1) +1
Здравствуйте, mapnik, Вы писали:

M>Здравствуйте, gandjustas, Вы писали:


G>>Широкую популярность C++ получил потому что был улучшенной версией C, который тоже был придуман в bell labs.

M>Спасибо что повторяете мои слова!
Нет, ваши слова о том, что C++ получил популярность не по причине того, что его сделал bell labs, а я вам мягко намекнул на обратное. Мягкий намек вы не поняли.
Говорю прямо: bell labs вложил дофига бабла в развитие и продвижение C, С++ (хотя большая часть продвижения уже была обусловлена родством с С) и также unix.

G>>PHP тоже мейнстрим, а sql это фактически dsl, а не полноценный язык.

M>1 — нет не мейнстрим. если бы вы были настоящим программистом вы бы это знали. Мейнстрим это — java, c и его производные (obj c), c++, c#, javascript. Python скорее нишевой язык чем мейнстрим.
Да, я ненастоящий программист, я не понимаю тонких материй.
Для меня мейнстрим язык:
0) универсальный язык, полный по тьюрингу, пригодный для написания любых (в некоторых пределах) программ.
1) на котором написаны значимые программы
2) который используется за пределами компании-создателя
3) на котором можно найти работу
PHP под все параметры подходит, причем вакансий на нем в 5 раз больше чем на obj c.



M>2 — про sql — это вас на курсах 1С и шарепоинта научили? мы тут вообще-то о серьезных вещах дискутируем а не о шарепоинте

Извини, не был на курсах 1С и SharePoint. Но по криериям выше SQL не подходит. Ни один из диалектов SQL на сегодня не является универсальным яызыком.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.