Здравствуйте, alpha21264, Вы писали:
A>Нафиг надо, если С++ уже есть?
На фиг нужен был С++ когда был С или даже Фортран?
A>Зачем изучать "те же яйца в профиль", если они не дают новых возможностей?
Не, ну правда! С++ это же те же яйца только в профиль. На фиг ты его учил? Время тратил?
A>Я лучше что-нибудь другое поизучаю ступенькой повыше. Паттерны например. Или что-нибудь связанное с архитектурой.
А если тебе скажут, что есть язык который повзоляет эти паттерны превратить в готовую к использованию библиотеку или фичу языка, тебя это не заинтересует?
Зачем учить паттерны, когда можно просто воспользоваться готовым решением?
Когда-то давно было много программистов писавших GUI на С. GUI отилично ложится на ООП. Но ООП в С не было. Тогда С-программисты придумали паттерны: класс, сообщение, событие и т.п. и начали писать код с их использованием. Многие и сейчас так делают. Но ты видимо к ним не относишься, так как знаешь, что есть язык — С++ в котором эти паттерны встроены. И знаешь, что писать на таком языке объектно-ориентированные прогрммы проще чем на С.
Вот такая же фигня и с другими частями. Скажем ты усердно выписываешь паттерн перебора элементов контейнера везде где нужно с ними что-то делать. А в каком-нить Шарпе есть встроенный оператор foraech который позовляет не выпиливать паттерн, а точно описать что с ним делать. А в каком-то другом языке есть готове решение позволяющее не писать циклы вообще (это я на ФП намекаю, хотя оно и в Шарпе есть).
А теперь представь, что есть язык который позволяет большую часть таких паттернов (в том числе и паттернов-проектирования) запихнуть в библиотеки и использовать где надо. Вместо тщательного выпиливания канонов паттерна ты просто декларируешь его применение и задаешь (тоже декларативно) нужные параметры. А все остальное автоматически выпиливает компилятор по программе называемой "макрос" (не путать с сишными текстуальными макросами). И более того, такие "программы" для компилятора ты можешь создавать сам.
Не уж-то это не стоит того, чтобы хотя бы ознакомиться с таким языком?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
VD>Принимается. Только тебе нужен ява, а другим еще что-то. Кому-то дотнет самое оно. А кто-то хочет нэйтив.
Ява — это весь ентерпрайз. Это дохрена, на самом деле.
VD>Моно сейчас есть почти в любом линуксе
В моём нет. Вполне себе линукс. Офис, браузеры, игрушки, кеды тяжеленные, dvd-писалка, медиа-плееры... Плюс масса девелоперской фигни. Кроме того, встаёт вопрос о версии этого самого .NET и mono, и о совместимостях версий. Ещё мне не хватало на десктопе поиметь такой же лютый гимор, который я имею в вебе с поддержкой всего зоопарка браузеров. Нафиг, нафиг.
VD>Ну, а что скажешь, если в поставке будет идти либа для веба которая радикально упрощает разработку для веба и при этом она не зависит ни от каких библиотек вроде АСП.НЭТ?
Если это будет полноценный многопоточный lightweight веб-сервер с поддержкой асинхронного io (для полнодуплексного comet) — тогда велики шансы, что заюзаю.
D>>4. Работы много, щас не до изучения. VD>И насколько этот фактор важен?
Это фактор усталости. Конкретно в данный период своей жизни я совершенно за#$анный, а на новой работе надо ещё себя показать.
VD>Да я вообще-то не об N спрашивал. В прочем, в N1 тоже есть чего изучить.
А откуда мне знать, что то, что я изучу в N1, не пропадёт в N2 (или N3)? Это и к следующему вопросу тоже относится.
D>>Если в изучении хотя бы четверть времени будет уходить на хождение по граблям, я пожалуй лучше подожду. VD>Откуда информация о граблях? Прошлый опыт?
Хм. Ну в общем, да. Компилятор скалы вполне стабильный, но trait NotNull они в какой-то из бет 2.8.0 таки-сломали (пришлось его всюду в lib.web комментить; вернуть взад и проверить всё недосуг). А вот IDE — это просто песня. Что Eclipse, что Idea. Ну и резидентный fast scala compiler падает постоянно; феноменально глючная вещь.
Re[4]: Что вас останавливает от изучения нового языка?
А Скала выбрана так как основная платформа — Ява?
D>Я изучаю язык только с одной целью: начать на нём писать. Полноценно: много и сложно. Варианты "поглядеть 20-страничную презентацию по языку" и "поковыряться с недельку" — это чистейшая профанация. Ну то есть, для тебя возможно и нет, если ты уже стотыщ разных языков знаешь (имеешь реальный опыт программирования) и поэтому быстро понимаешь, какие идеи языка откуда спёрты, ну и в итоге быстро и адекватно оцениваешь язык в целом. Я же не знаю "нормальных" динамически-типизированных языков, и языков с МП тоже не знаю. А изучать их только ради того, чтобы потом быстрее изучать ещё более другие языки — мне чё, больше заняться нечем?
Мне кажется ты сам ответил на свой же вопрос. Зная применяемые фичи (парадигмы) ты сможешь освоить другой язык в разы быстрее.
D>Языков, на которых действительно стоит писать, не так много,
Тем более! Тогда какой смысл слушать сказки и домыслы о языках, когда можно попробовать?
D>чтобы специально прокачивать скилл "поиск нормального языка". Тупо между делом поглядывая на форумы, я в фоновом режиме, в порядке отдыха получаю вполне достаточно информации. Гораздо больше, чем мог бы получить, поковырявшись неделю-другую в самом языке: в спорах в "Философии" и "Архитектуре" обсуждают вещи, которые на мелких задачах увидеть невозможно.
ОК. Ты остановил свой взор на Скале. Это, на мой взгляд, достойный выбор. Так что тебя подтолкнуло к этому?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Что вас останавливает от изучения нового языка?
1. принципиальная невозможность использования на практике
вот есть язык Go, и он интересен, но его нет под винду, а у меня все проекты под винду по этому учить мне его бессмысленно
2. наличие альтернативного языка
как-то я интереса ради поставил перл, прочитал тутор, поигрался в интерпретаторе
— да хороший интересный язык, но на этом всё закончилось, т.к. для скриптов я знаю питон который имеет схожую область применения,
при этом питон мне нужен для проектов на google-app-engine, для скриптов в одной проге, а для перла у меня таких "зацепок" нет
3. ограниченная возможность использования на практике
в основном у меня нативные проекты, потому что у многих юзеров нет .NET и я не могу заставить их его поставить.
по этому я мало интересуюсь .NET языками, скажем я изучил F#, почитал тутор немерле, но в текущих проектах я не могу использовать .NET, а значит мне пока нет никакого толку с этих языков.
4. отсутствие нормальных средств разработки для языка
VС++ живо в винде потому что есть ИДЕ (MSVC+VAX) которая лучше всех остальных ИДЕ и плагинов к блокнотам (для языков типа С++),
потому что есть компилятор с поддержкой расширений нужных в винде,
потому что есть хороший отладчик, .pdb и минидампы.
По этому нет смысла учить D, т.к. при всех минусах С++, разработка в VC++ будет быстрее и надежнее.
Аналогично — C#+решарпер лучше чем самая-последняя-версия-немерле+блокнот с подсветкой
Однако в ряде случаев 50 строк питона в IDLE лучше 2000 строк C++\C#\хзчего в самой навороченной ИДЕ
5. эстетические\религиозные соображения
я не понимаю, почему когда я в хаскеле компилю .dll, которая экспортирует функцию int32_t returns_x_plus_y(int32_t x, int32_t y), я получаю файл в котором более 1Мб кода. Это подрывает веру в компилятор и производительность программ.
Считайте это странным и несовременным, но я хочу юзать языки которые компилят большие исполняемые файлы.
(это относится и к mingw (который использует хаскель), и к D)
6. отсутствие нормальных библиотек для языка.
обычно проще взять старый добрый язык для которого всё есть,
чем новый для которого есть только какие-то альфа-версии биндингов и то не всех нужных библиотек
In Zen We Trust
Re[2]: Что вас останавливает от изучения нового языка?
Здравствуйте, 0x7be, Вы писали:
0>Ничего не останавливает. Изучение языков просто из любопытства и в поисках идей — это мое хобби.
Если не секрет, какие языки знаешь в общих чертах и на каких можешь свободно писать (т.е. без особого напряга использовать в реальной работе)?
VD>>Так же интересно что останавливает от применения языков. Насколько часто бывает так, что язык вы изучили, а использовать его не можете? 0>1. Начальство
С этим все ясно.
0>2. Отсутствие подходящей точки приложения. 0>3. Риск.
А вот об этих пунктах можно по подробнее?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Что вас останавливает от изучения нового языка?
Здравствуйте, Hobot Bobot, Вы писали:
VD>>3. Политические предпосылки — "Все равно не смогу применять его на работе...".
HB>Исключительно этот пункт. Вообще не выходит изучать что-то "для себя" — вроде и интересно, а "не идёт". Кстати, с обычными языками та же беда: заинтересовался было испанским, почитал, посмотрел, пару песенок перевёл, да и забросил.
ОК, а чтобы могло подвигнуть преодолеть этот пункт?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что вас останавливает от изучения нового языка?
Здравствуйте, night beast, Вы писали:
NB>наличие свободного времени и интерес. какая нибудь перспективная фича (типа эрланга)
А почему ты считаешь, что в Эрланге есть перспективная фича, а в Scala, F# или скажем в Nemerle таких нет? Или тебя интересует именно динамически-типизированный язык?
VD>>Что за более приоритетные вещи?
NB>есть мечта сделать свой скриптовый (типа LUA), для плюсов.
Хм. Просто для развлечения? Ведь LUA уже есть и из плюсов ее использовать не трудно.
NB>тут чистый прагматизм. потратить время на язык, на который есть спрос и который используется немалым количеством народа (неважно индусами или нет) или на кота в мешке.
Дык ты какой смысл тратить время на то что любит миллион мух? Ведь преимущество это не даст. Там и так миллион мух. Твой прагматизм тебе не подсказывает, что получив в свое распоряжение (если ты конечно себя ценишь выше интеллектуального большинства) инструмент по мощьнее, ты мог бы быть более конкурентоспособным на том же рынке?
VD>>А как ты делаешь для себя вывод о наличии или отсутствии преимуществ?
NB>трудно сказать. для меня паскаль не дает ничего нового по сравнению с си. для кого-то наоборот.
Ну, в общем-то оба утверждения можно назвать верными. Разница и правда синтаксическая. Есть конечно пара плюсов и минусов у обоих. Но в общем, языки одноклассники. И ты вполне можешь судить о них зная один из них.
NB>или ява -- тоже вроде ничего нового, но зато есть большая стандартная библиотека.
С явой уже не все так просто. В ней есть типобезопасность, автоматическое управление памятью, ООП и дженерики (как минимум). Так что по сравнению с С и Паскалем ява все же имеет преимущества. Недостатки тоже есть, но опять же есть что обсуждать.
Но ты же отвергаешь новое. Получается, что ты по аналогии с С и Паскалем уравниваешь все новые языки с какой-нибудь Явой. Не боишься, что ты просто не понимаешь тех преимущество которые могли бы тебе дать эти новые языки?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, dimgel, Вы писали:
VD>А Скала выбрана так как основная платформа — Ява?
D>>Я изучаю язык только с одной целью: начать на нём писать. Полноценно: много и сложно. Варианты "поглядеть 20-страничную презентацию по языку" и "поковыряться с недельку" — это чистейшая профанация. Ну то есть, для тебя возможно и нет, если ты уже стотыщ разных языков знаешь (имеешь реальный опыт программирования) и поэтому быстро понимаешь, какие идеи языка откуда спёрты, ну и в итоге быстро и адекватно оцениваешь язык в целом. Я же не знаю "нормальных" динамически-типизированных языков, и языков с МП тоже не знаю. А изучать их только ради того, чтобы потом быстрее изучать ещё более другие языки — мне чё, больше заняться нечем?
VD>Мне кажется ты сам ответил на свой же вопрос. Зная применяемые фичи (парадигмы) ты сможешь освоить другой язык в разы быстрее.
Ещё раз: для меня "освоить язык" означает "иметь опыт написания на нём больших проектов и соответствующее количество набитых шишек". Писать большой проект на питоне только ради того, чтобы быстрее осваивать другие языки (а сам этот
питон выбросить вместе с проектом) — это ИМХО крайне неэффективная трата времени. Тем более, что применимость полученного опыта к другим "почти таким же" языкам всё равно будет ограниченная, и шишки придётся набивать заново.
Послё трёх больших проектов на скале, я могу сказать, что её знаю. Много чего не знаю, акторов не знаю, не знаю чем отличается iterable от traversable (хотя мне пытались объяснить), но зато я реально на ней пишу, и у меня выработались паттерны решений, заточенные конкретно под этот язык и эффективные в нём. Я честно могу сказать "скала, конечно, говно, но мне нравиццо =)" — и это, собсна, критерий. Однако у меня на это ушло два-три года. Не дофига ли будет по два-три года на каждую хрень тратить?
D>>Языков, на которых действительно стоит писать, не так много, VD>Тем более! Тогда какой смысл слушать сказки и домыслы о языках, когда можно попробовать?
То есть, ты предлагаешь мне убить пару-тройку лет на какие-нибудь динамически типизированные языки, чтобы убедиться, что все те помои, которые вы с WolfHound-ом на них выливаете, заслуженные? Гы, сорри, но это как раз тот случай, когда я предпочту поучиться на чужом опыте. Вполне, так сказать, доверяю.
VD>ОК. Ты остановил свой взор на Скале. Это, на мой взгляд, достойный выбор. Так что тебя подтолкнуло к этому?
Интуиция.
Re[3]: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
0>>Ничего не останавливает. Изучение языков просто из любопытства и в поисках идей — это мое хобби. VD>Если не секрет, какие языки знаешь в общих чертах и на каких можешь свободно писать (т.е. без особого напряга использовать в реальной работе)?
C++, Delphi, C# — это те, на которых много писал, так что тут рука набита.
Nemerle, Prolog, Lisp, Java — "со словарем", то есть сами языки знаю, но стандартные библиотеки не очень.
0>>2. Отсутствие подходящей точки приложения. 0>>3. Риск. VD>А вот об этих пунктах можно по подробнее?
п.2: Если нечто нельзя применять на работе, то для этого нужен pet project, а с этим проблемы Времени мало.
п.3: Если мне надо сделать что-то и сделать это качественно и в срок, то я выберу знакомый инструмент, даже если он объективно менее способен, чем тот, который я знаю наполовину. То есть риск в данном случае — это субъективный фактор, а не объективный.
Re[6]: Что вас останавливает от изучения нового языка?
Здравствуйте, dimgel, Вы писали:
D>То есть, ты предлагаешь мне убить пару-тройку лет на какие-нибудь динамически типизированные языки, чтобы убедиться, что все те помои, которые вы с WolfHound-ом на них выливаете, заслуженные? Гы, сорри, но это как раз тот случай, когда я предпочту поучиться на чужом опыте. Вполне, так сказать, доверяю.
Тем более, что помои аргументированные. А сам играясь с языком, я к этим же аргументам никогда, может быть, и не приду. Так и буду "писать на дельфе".
Re[3]: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
HB>>Исключительно этот пункт. Вообще не выходит изучать что-то "для себя" — вроде и интересно, а "не идёт". Кстати, с обычными языками та же беда: заинтересовался было испанским, почитал, посмотрел, пару песенок перевёл, да и забросил.
VD>ОК, а чтобы могло подвигнуть преодолеть этот пункт?
Наличие хорошо оплачиваемых вакансий — точно могло бы. Хотя... если я сижу на такой же хорошо оплачиваемой и "пишу на дельфе", нафига оно мне надо? В общем, всё это сугубо личное, совокупность собственного любопытства и окружающих обстоятельств. С испанским — хороший пример, я его плюсанул. Отсутствие реальной практики, реальных проектов — и всё, тот же C++ я вообще не помню, хотя когда-то весьма интенсивно на форумах отвечал на вопросы (это было до кывта). Впрочем, нынешний C++ по слухам имеет уже мало общего с тогдашним — всякие Александрески с бустами понародились...
Re[4]: Что вас останавливает от изучения нового языка?
Здравствуйте, dimgel, Вы писали:
D>Ява — это весь ентерпрайз. Это дохрена, на самом деле.
Ну, дотнет это тоже не малая часть энтерпрайза. Причем на десктопе как раз дотнет то по активнее используется.
VD>>Моно сейчас есть почти в любом линуксе
D>В моём нет. Вполне себе линукс. Офис, браузеры, игрушки, кеды тяжеленные, dvd-писалка, медиа-плееры... Плюс масса девелоперской фигни. Кроме того, встаёт вопрос о версии этого самого .NET и mono, и о совместимостях версий. Ещё мне не хватало на десктопе поиметь такой же лютый гимор, который я имею в вебе с поддержкой всего зоопарка браузеров. Нафиг, нафиг.
Странный ты. Как раз Моно или дотнет тебя защищает от этого зоопарка. Да, конечно что дотнета, что моно есть много разных версий. Но они все как один совместимы со старыми своими версиями. Это же стандрат! Потом ты волен поставить ту версию Моно, что тебе нужна. Да и с Явой будет та же котовасия. Она же и версии разные имеет, и реализации.
ОК. А что бы ты сказал, если бы один язык позволял бы создавать исполнимые модули и для Явы, и для Дотнета?
VD>>Ну, а что скажешь, если в поставке будет идти либа для веба которая радикально упрощает разработку для веба и при этом она не зависит ни от каких библиотек вроде АСП.НЭТ?
D>Если это будет полноценный многопоточный lightweight веб-сервер с поддержкой асинхронного io (для полнодуплексного comet) — тогда велики шансы, что заюзаю.
Полноценного конечно.
А comet то зачем? Спам толкать?
D>>>4. Работы много, щас не до изучения. VD>>И насколько этот фактор важен?
D>Это фактор усталости. Конкретно в данный период своей жизни я совершенно за#$анный, а на новой работе надо ещё себя показать.
Ясно. Сочувствую.
VD>>Да я вообще-то не об N спрашивал. В прочем, в N1 тоже есть чего изучить.
D>А откуда мне знать, что то, что я изучу в N1, не пропадёт в N2 (или N3)? Это и к следующему вопросу тоже относится.
Зачем отвечать вопросом на вопрос? Вопрос вместимости — это отдельный вопрос. Если ты не изучишь первую версию, то вопрос совместимости тебя не будет трогать.
D>>>Если в изучении хотя бы четверть времени будет уходить на хождение по граблям, я пожалуй лучше подожду. VD>>Откуда информация о граблях? Прошлый опыт?
D>Хм. Ну в общем, да. Компилятор скалы вполне стабильный, но trait NotNull они в какой-то из бет 2.8.0 таки-сломали (пришлось его всюду в lib.web комментить; вернуть взад и проверить всё недосуг).
Дык зачем бэты то юзать? Бэты и у Майрософта застенько глючат.
D> А вот IDE — это просто песня. Что Eclipse, что Idea. Ну и резидентный fast scala compiler падает постоянно; феноменально глючная вещь.
Хм. А я слышал что Скаловские плагины вроде уже зрелые.
Было бы очень интересно если бы ты попробовал Немерл в деле и высказал мнение о стабильности его IDE. Ну, и о самом языке. Они со Скалой своего рода братья. Только Скала скрещивает Яву с МЛ-ем, а Немерл Шарп. Ну, это конечно, если не считать макросов. В прочем в Скале есть плагины к компилятору. Которые с натяжкой можно сравнить с макрами.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
VD>Хочется собрать статистику (мнения) по поводу что останавливает людей от изучения новых языков. VD>Для затравки дам некоторые возможные ответы: VD>1. Синтаксические различия. Скажем, привык к сишному синтаксису, а в новом языке переменные по другому описываются (типы через двоеточие) и параметры типов задаются иначе. Если бы язык был полным супесетом того языка который я знаю, то изучил бы. VD>2. Идеологические отличия. Например, язык не ООП, а я привык к ООП. VD>3. Политические предпосылки — "Все равно не смогу применять его на работе...". VD>...
Во-первых, меня не интересуют маргинальные языки. Если у него нет своей ниши , и он реально не используется — подожду, когда ниша появится и использоваться будет реально. Изучить язык — много времени не надо, а зря тратить время на него незачем.
Во-вторых, я не люблю моду. Вдруг все набрасываются на что-то. Подождем, когда это нашествие козлотуров придет в какие-то рамки и выяснится, что же получилось. Где сейчас Ада ? А шуму было...
В-третьих, я должен быть уверен, что от этого языка будет для меня польза, то есть использовать его лучше, чем его предшественника. Иными словами, мне нужно быть уверенным, что он мне что-то такое положительное дает, чего в других языках, ранее мне известных, не было. И это не синтаксические конструкции, а нечто реальное.
With best regards
Pavel Dvorkin
Re: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
VD>Странный ты. Как раз Моно или дотнет тебя защищает от этого зоопарка. Да, конечно что дотнета, что моно есть много разных версий. Но они все как один совместимы со старыми своими версиями. Это же стандрат! Потом ты волен поставить ту версию Моно, что тебе нужна. Да и с Явой будет та же котовасия. Она же и версии разные имеет, и реализации.
Яву нужной мне версии я тупо задеплою вместе со своим приложением, о чём и был исходный вопрос.
VD>А comet то зачем? Спам толкать?
Онлайн-казино и вебчаты делать. Спам — это совсем из другой оперы.
VD>Дык зачем бэты то юзать? Бэты и у Майрософта застенько глючат.
Там была масса переделок, тянущих на новый мажор. В частности, коллекции поменялись без совместимости. Одерски спрашивал в рассылке "а не запулить ли нам 3.0 вместо 2.8?" Но в итоге не запулили. А я как раз новый проект начинал, хотелось минимизировать потом миграцию остального кода.
VD>Было бы очень интересно если бы ты попробовал Немерл в деле и высказал мнение о стабильности его IDE. Ну, и о самом языке. Они со Скалой своего рода братья. Только Скала скрещивает Яву с МЛ-ем, а Немерл Шарп. Ну, это конечно, если не считать макросов. В прочем в Скале есть плагины к компилятору. Которые с натяжкой можно сравнить с макрами.
Мне бы тоже было интересно, но в ближайшем обозримом будущем (полгода-год) у меня всё беспросветно. Поэтому пока что я просто поглядываю и собираюсь с силами.
Re: Что вас останавливает от изучения нового языка?
Отсутствие IDE и отсутствие документации. Выучить новый синтаксис не сложно, а вот застревать при решении элементарных задач не хочется.
Простой пример, буквально вчерашнее происшествие. Писал мелкую утилитку, решил использовать WPF. До того не использовал. Сразу выяснилось что:
1) Нет встроенного NotifyIcon. Ладно я скачал какой-то сторонний элемент управления, но не приятно.
2) Байндинг между bool и Visibility выполняется только с написание своего класса-конвертора. Я его написал, он не заработал, так и не понял почему.
3) XAML редактор не балует автодополнением. Дизайнер для контекстного меню я так и не заставил появится.
При этом кое-какие вещи я, абсолютно неопытный в WPF, сделал в краткие сроки значительно лучше, чем мог бы на WinForms. Но в итоге забил, потому что необходимо было все задачи решить приемлемо, а получалось что какие-то я решаю хорошо, а какие-то совсем не могу. Как делать локализацию я уже вообще не стал разбираться. Два раза застрял на том, что в WinForms было элементарным. С WPF я ещё потом разберусь, куда денусь, но осталось впечатление сыроватости продукта (а ведь это далеко не первый релиз). При этом WinForms меня не устраивает и я сознательно искал альтернативу, был мотивирован. А ведь это всего лишь другая библиотека, не другой язык. Ну ладно, XAML новый язык, но XML/HTML я знаю, так что семантика новая, синтаксис — нет.
А в прошлом году надо было кое-что сделать на Питоне. До того вообще не писал на Питоне. Быстро нагуглил и синтаксис (буквально писал читая документацию), и куски кода решающего мою задачу. Что-то доработал, переделал, пользуюсь результатом до сих пор. Правда всё свалил в один файл, так и не разобрался тогда как сделать библиотеку, но и так сойдёт. Задача решена.
Здравствуйте, VladD2, Вы писали:
VD>Хочется собрать статистику (мнения) по поводу что останавливает людей от изучения новых языков.
Для изучения языка нужен проект, тестовые программки полезны в изучении, но по настоящему чувствовать язык начинаешь на крупном проекте, написав более 20 тысяч строк (по крайней мере так у меня). Теперь, допустим, что подходящий проект появился и есть предположение, что новый язык значительно облегчит разработку, а иначе зачем менять шило на мыло?
Возникают следущие вопросы:
1. Будет ли работать компилятор на другой версии операционной системы, как с поддержкой 64 бит, насколько генерируемый код адекватен? Для принятия положительного решения, очевидно должны быть версии компиляторов под основные платформы и несколько крупных, уже успешно завершенных проектов.
2. Насколько богаты библиотеки? Мне категорически не хочется самому писать парсеры XML или функции работы со временем.
3. Есть ли обучающая литература, отзывчивое сообщество где я могу задать вопросы.
4. Насколько язык помогает писать в хорошем стиле, насколько защищает от ошибок.
5. Наличие инструментов: билд системы, статические анализаторы кода, IDE и т.д.
6. Язык должен "отстоятся", постоянные изменения не очень распологают к использованию языка.
VD>Так же интересно что останавливает от применения языков. Насколько часто бывает так, что язык вы изучили, а использовать его не можете?
Бывает. Было интересно, освоил, но из-за несоответствия приведенным мною критериям, не использовался и забылся.
Re: Что вас останавливает от изучения нового языка?
1. Низкая практичность — не смогу применять на работе.
2. Нехватка времени на изучение основ языка и потом на раскапывание того как сделать вроде бы простую вещь.
3. В случае немейнстримовых языков — намного меньшее сообщество, т.е. будет сложнее найти решение своей проблемы или обсудить проблему.
Re[5]: Что вас останавливает от изучения нового языка?
Здравствуйте, VladD2, Вы писали:
NB>>наличие свободного времени и интерес. какая нибудь перспективная фича (типа эрланга)
VD>А почему ты считаешь, что в Эрланге есть перспективная фича, а в Scala, F# или скажем в Nemerle таких нет? Или тебя интересует именно динамически-типизированный язык?
легковесные потоки, насколько мне известно, впервые в эрланге появились.
VD>>>Что за более приоритетные вещи?
NB>>есть мечта сделать свой скриптовый (типа LUA), для плюсов.
VD>Хм. Просто для развлечения? Ведь LUA уже есть и из плюсов ее использовать не трудно.
ниповеришь. хочу с макросами (желание еще до Н появилось). в луа грамматика жестко забита.
NB>>тут чистый прагматизм. потратить время на язык, на который есть спрос и который используется немалым количеством народа (неважно индусами или нет) или на кота в мешке.
VD>Дык ты какой смысл тратить время на то что любит миллион мух? Ведь преимущество это не даст. Там и так миллион мух. Твой прагматизм тебе не подсказывает, что получив в свое распоряжение (если ты конечно себя ценишь выше интеллектуального большинства) инструмент по мощьнее, ты мог бы быть более конкурентоспособным на том же рынке?
ну приходишь ты с этим инструментом устраиваться на работу, и тебя культурно посылают дальше.
VD>>>А как ты делаешь для себя вывод о наличии или отсутствии преимуществ?
NB>>трудно сказать. для меня паскаль не дает ничего нового по сравнению с си. для кого-то наоборот.
VD>Ну, в общем-то оба утверждения можно назвать верными. Разница и правда синтаксическая. Есть конечно пара плюсов и минусов у обоих. Но в общем, языки одноклассники. И ты вполне можешь судить о них зная один из них.
NB>>или ява -- тоже вроде ничего нового, но зато есть большая стандартная библиотека.
VD>С явой уже не все так просто. В ней есть типобезопасность, автоматическое управление памятью, ООП и дженерики (как минимум). Так что по сравнению с С и Паскалем ява все же имеет преимущества. Недостатки тоже есть, но опять же есть что обсуждать.
типобезопасность, ООП, шаблоны есть в плюсах.
а автоматическое управление памяти, что нового оно дает?
VD>Но ты же отвергаешь новое. Получается, что ты по аналогии с С и Паскалем уравниваешь все новые языки с какой-нибудь Явой. Не боишься, что ты просто не понимаешь тех преимущество которые могли бы тебе дать эти новые языки?
откуда такой вывод?
библиотеку явы я привел как пример того, из-за чего может пригодится ее изучение.
Re: Что вас останавливает от изучения нового языка?
The main reason is TIME! I have a lot of other interesting and useful things to spent my time on.
I had 4 years of learning new programming languages: CShell, C, C++, Java, C#, JavaScript/ActionScript, Lisp, Prolog, SmallTalk.
I've stopped learning new languages about 6 months ago, when i've found Common Lisp... and Emacs. After that i discovered many others langs., for example, Scala, Nemerle, Python, Erlang. But I can't start learn them, because i didn't find the weakness of the CommonLisp. I'll try to get acquainted with Scala or Python, when I've found the weakness of Common Lisp.
At the work I use C#. It is requirement of customer(project manager at the same time). But every time when I have a beautiful solution in Common Lisp, I can't find such in C#. But C# still continue to be very effective and powerful because of the IDE — Visual Studio.
So, if I start learn new language, it should have possibilities better than Common Lisp and very powerful IDE.