Re[6]: Что вас останавливает от изучения нового языка?
От: BulatZiganshin  
Дата: 22.04.11 16:51
Оценка: 3 (1)
Здравствуйте, night beast, Вы писали:

NB>ниповеришь. хочу с макросами (желание еще до Н появилось). в луа грамматика жестко забита.


metalua
Люди, я люблю вас! Будьте бдительны!!!
Re[7]: Что вас останавливает от изучения нового языка?
От: night beast СССР  
Дата: 22.04.11 17:01
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

NB>>ниповеришь. хочу с макросами (желание еще до Н появилось). в луа грамматика жестко забита.


BZ>metalua


The current version of metalua is 0.4 alpha.


синтаксис тоже не понравился
но за наводку спасибо.
Re[3]: Что вас останавливает от изучения нового языка?
От: alpha21264 СССР  
Дата: 22.04.11 17:02
Оценка: :))
Здравствуйте, VladD2, Вы писали:

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


A>>Нафиг надо, если С++ уже есть?


VD>На фиг нужен был С++ когда был С или даже Фортран?


A>>Зачем изучать "те же яйца в профиль", если они не дают новых возможностей?


VD>Не, ну правда! С++ это же те же яйца только в профиль. На фиг ты его учил? Время тратил?


Эээ... Ну перечитай же еще раз "если они не дают новых возможностей".
То есть, если новые возможности будут, то я изучать буду.

A>>Я лучше что-нибудь другое поизучаю ступенькой повыше. Паттерны например. Или что-нибудь связанное с архитектурой.


VD>А если тебе скажут, что есть язык который повзоляет эти паттерны превратить в готовую к использованию библиотеку или фичу языка, тебя это не заинтересует?


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

VD>Зачем учить паттерны, когда можно просто воспользоваться готовым решением?


VD>Когда-то давно было много программистов писавших GUI на С. GUI отилично ложится на ООП. Но ООП в С не было. Тогда С-программисты придумали паттерны: класс, сообщение, событие и т.п. и начали писать код с их использованием. Многие и сейчас так делают. Но ты видимо к ним не относишься, так как знаешь, что есть язык — С++ в котором эти паттерны встроены. И знаешь, что писать на таком языке объектно-ориентированные прогрммы проще чем на С.


1) Эээ... ООП — это вообще-то внеязыковая конценция. ООП даже на ассемблере бывает. Только таблицу виртуальных функций будешь организовывать сам.
2) C++ он именно потому и плюс-плюс, что не забрал ни одной старой возможности. Вот идеал, к которому надо стремиться.

VD>Вот такая же фигня и с другими частями. Скажем ты усердно выписываешь паттерн перебора элементов контейнера везде где нужно с ними что-то делать. А в каком-нить Шарпе есть встроенный оператор foraech который позовляет не выпиливать паттерн, а точно описать что с ним делать. А в каком-то другом языке есть готове решение позволяющее не писать циклы вообще (это я на ФП намекаю, хотя оно и в Шарпе есть).


VD>А теперь представь, что есть язык который позволяет большую часть таких паттернов (в том числе и паттернов-проектирования) запихнуть в библиотеки и использовать где надо. Вместо тщательного выпиливания канонов паттерна ты просто декларируешь его применение и задаешь (тоже декларативно) нужные параметры. А все остальное автоматически выпиливает компилятор по программе называемой "макрос" (не путать с сишными текстуальными макросами). И более того, такие "программы" для компилятора ты можешь создавать сам.


VD>Не уж-то это не стоит того, чтобы хотя бы ознакомиться с таким языком?


Нет, не стОит. Язык не будет за тебя решать твою задачу.
Зайди (например) на сайт Яндекса и посмотри какие там задачи. Ну вот одна из таких:
Есть два списка глаголов русского языка 1) совершенные и 2) несовершенные.
Соберите каким-нибудь образом все пары типа "делал-сделал".

Ну вот каким образом новый язык программирования поможет в решении такой задачи? Воот...

Я обьясню это через придуманную мною алегорию.
Можно купить машину с очень мощным мотором.
Но стоять в пробке она будет примерно с той же скоростью как Запорожец.
Потому что движение лимитурует другой фактор.

Так и с языками. Языки программирования уже давно не лимитируют твое понимание предметной области.

PS.
Я так понял что ты языками занимаешься? Немерл (или как его там) сочиняешь? Идея мне тут в голову пришла.
Макрос — это же не языковое понятие. Результатом применения макроса является преобразование одного текста в другой текст.
Текст этот не обязательно должен быть именно на языке программирования. Он может быть и на русском.
Вот... придумай достаточно мощщщщщщщщный язык макросов, который можно было бы прикрутить... к чему угодно.
Например как препроцессор препроцессора С++. И реализуй на нем то, что ты мне тут в виде рекламы написал — паттерны.
И прославишь ты свое имя на веки вечные как Страуструп и Степанов.
А С++ не трожь, не замахивайся на святое!
Когда разбогатеешь 10% мне не забудь, ты же честный человек

PS2. Макросы как часть IDE могут быть. Чтоб сразу видеть было-стало.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Что вас останавливает от изучения нового языка?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.04.11 17:02
Оценка: :)
Здравствуйте, VladD2, Вы писали:

I>>Время и интерес. Мне вот что бы попробовать Немерле, надо отложить более интересные для меня вещи.


VD>А если не секрет, что за более интересные вещи ждут твоего внимания?


Например кое какие планы на WCF, несколько книг (в т.ч. про компиляторы) которые я купил но еще не освоил, продожить Эрланг, который пришлось давненько отложить ради ASP.NET, и Хаскель.

VD>Я слово на Н даже не произносил. Предположим что это J$.


VD>Что до "success истории", то эта тема очень интересна. Ты сейчас на чем программируешь? Что за "success истории" ты слышал об этом средстве?


С#. Когда я начинал его где то в 2003м, C# и менеджед почти не применялся для тех задач, для которых мы его заюзали.

1 был в наличии интерес обусловленный _внятной_ демонстрацией возможностей(а не написанием калькуляторов). Возможности, например, быстрая и качественная разработка UI, легкая интерграция с COM, множество самого различного функционала и самое главное — возможность почти что безболезненного перехода с С++, настолько легкая что вопрос о наборе никогда не стоял — тупо брали почти любых сиплюсников ибо дотнетчиков практически не было.

2 success истории были найдены как в менеджед(Java), а уже позже в C#. Что именно это были за проекты, я точно не понмоню, извини, это был 2003й год. Направление — сапр, проектирование, вычисления.

то же самое было в своё время, когда я занимался Питоном. success история это был конвертер большой базы в xml и обратно при наличии _мизерного_ количества кода, при том, что с++ аналоги лажали на каждом шагу и соджержали в десятки раз больше кода при тех же возможностях.

Когда ты в свое время на право и налево вещал про парадокс Блаба и прочее непотребство, Гапертон написал всего немного сообщений про Эрланг на примере текстового процессора и я пошел смотреть эрланг.

Когда ты в время обвинял AVK чуть не во всех грехах по поводу http://www.gotdotnet.ru/blogs/avk/931/, C# 3.5 после Питона казался мне скучной, глупой и никому не нужной поделкой, и я увидел вот это — http://www.gotdotnet.ru/blogs/avk/925/

Хаскел заинтересовал в одном из сообщений на этом форуме, опять там же где ты "отметился"
Re: Что вас останавливает от изучения нового языка?
От: Sharowarsheg  
Дата: 22.04.11 17:08
Оценка: 1 (1)
Здравствуйте, VladD2, Вы писали:

Альтернативные издержки. За то время, пока изучаешь другой язык программирования, можно изучить что-то более полезное.
Re[8]: Что вас останавливает от изучения нового языка?
От: BulatZiganshin  
Дата: 22.04.11 17:09
Оценка:
Здравствуйте, night beast, Вы писали:

NB>The current version of metalua is 0.4 alpha.


это норма для бесплатных проектов. кто-то как-то посчитал, что на ruby'шном аналоге cpan больше всего библиотек имеют версию 0.02

NB>синтаксис тоже не понравился


вот и переопредели его для начала
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: Что вас останавливает от изучения нового языка?
От: night beast СССР  
Дата: 22.04.11 17:15
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

NB>>The current version of metalua is 0.4 alpha.


BZ>это норма для бесплатных проектов. кто-то как-то посчитал, что на ruby'шном аналоге cpan больше всего библиотек имеют версию 0.02


последний коммит 2009-02-10.
это тоже норма?
Re: Что вас останавливает от изучения нового языка?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 22.04.11 17:31
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Так же интересно что останавливает от применения языков. Насколько часто бывает так, что язык вы изучили, а использовать его не можете?


1. Традиции предметной области.
Занимаюсь компьютерным зрением, большая часть библиотек на С/С++. Меньше на Матлабе. Совсем немного — Фортран. У многих есть биндинги к другим языкам, но они не так удобны, например при отладке. Например, пытался использовать OpenCV из Питона — не пошло.

2. Плюшки от более глубокого изучения предметной области.
Хочется изучить ещё этот алгоритм, посмотреть тот, а вот в новой статье написано так... Для меня эти знания важнее, чем языки.
Следствие. Время на кодирование гораздо меньше времени разработки алгоритмов. Ну и зачем мне тогда более удобный язык?

3. Быстродействие.
Не все языки (но многие) позволят мне достичь необходимой скорости выполнения программ.

4. Цена.
Увы! Хотелось бы работать с Матлабом — он очень удобен. Но дорогой, блин. Если контора ещё потянет, то я дома с ним работать не смогу.

P.S. Пользуюсь в основном связкой C++/CUDA/Lua
Re[10]: Что вас останавливает от изучения нового языка?
От: BulatZiganshin  
Дата: 22.04.11 17:32
Оценка:
Здравствуйте, night beast, Вы писали:

NB>последний коммит 2009-02-10.

NB>это тоже норма?

а чего в нём не хватает?
Люди, я люблю вас! Будьте бдительны!!!
Re[11]: Что вас останавливает от изучения нового языка?
От: night beast СССР  
Дата: 22.04.11 17:37
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

NB>>последний коммит 2009-02-10.

NB>>это тоже норма?

BZ>а чего в нём не хватает?


по коду ничего не скажу (надо пробовать).
но работа над документацией/примерами не помешала бы.
у тебя есть опыт использования? как оно по скорости?
Re[12]: Что вас останавливает от изучения нового языка?
От: BulatZiganshin  
Дата: 22.04.11 17:46
Оценка:
Здравствуйте, night beast, Вы писали:

NB>но работа над документацией/примерами не помешала бы.


плохо искал. там pdf есть в котором всё расписано

NB>у тебя есть опыт использования? как оно по скорости?


не понадобилось. думаю, что тормозит
Люди, я люблю вас! Будьте бдительны!!!
Re: Что вас останавливает от изучения нового языка?
От: мыщъх США http://nezumi-lab.org
Дата: 22.04.11 18:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хочется собрать статистику (мнения) по поводу что останавливает людей от изучения новых языков.

VD>Для затравки дам некоторые возможные ответы:
VD>1. Синтаксические различия. Скажем, привык к сишному синтаксису,
VD>а в новом языке переменные по другому описываются (типы через двоеточие)
синтаксические различия меня не смущают, хотя все-таки напрягают. вот в языках A, B и C можно записать foo += bar, а в языках D, F и J только как foo = foo + bar. при переключении между языками по десять раз на дню замечаешь, что даже на языках A, B и C начинаешь писать foo = foo + bar, потому как голова идет кругом...

между _принчипиально_ разным синтаксисом типа 10.times{|x| puts x} -- таких проблем нет, поскольку на си мне и в голову не придет такое писать.

VD> и параметры типов задаются иначе.

...тут вообще очень сложно. скажем, вот такой код.
obj = {'apple':do_apple, 'tree':do_tree, 'die':exit}; x = obj[y](args)
после этого мучительно возвращаться на си, где такой же трюк реализуется ну никак не в две строки. и вот изучаешь ты все это новое, а потом тебе тошно от того, что оно не везде есть... ведь далеко не всегда выбор языка произволен. вот эту часть можно написать и на си, и на js, а вот эту часть -- только на си и... ну вы понимаете. и думаешь -- лучше бы я всех этих фич не знал.

VD>3. Политические предпосылки — "Все равно не смогу применять его на работе...".

это важно, хотя не критично. можно экспериментировать с быстрым прототипированием, можно писать всякие скрипты под себя. можно просто развлекаться, решая голические головоломки типа обхода конем шахматной доски.


VD>Так же интересно что останавливает от применения языков. Насколько часто бывает так,

VD>что язык вы изучили, а использовать его не можете?
языки изучаю по мере возникновения в них потребности, оставаясь довольно консервативным. мой путь изучения c -> js -> питон -> рубин. переход от си к js произошел легко. сначала писал в стиле си, потом стал юзать фичи js (типа приведенной выше с obj и apple). после js переход на питон не стал проблемой, ибо там синтаксис довольно близок к си, а новые фичи воспринимаются легко (типа return a, b). и уж ужасно не хватает в си потом. рубин сильно отличается от всего остального как синтаксисом, так и концепциями, однако, за счет простоты самого языка его легко освоить.

но во всех случаях у меня была цель. js -- потому что по работе надо (никто не спрашивал хочу или нет), питон -- потому что парсить тексовые файлы на си в конец задолбало, да и давно был нужен инструмент для быстрого прототипирования. руби -- потому что мы на нем пишем (снова требование работодателя).

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

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

в общем, мне нужно: язык на всех платформах, литература, способность языка решать мои проблемы в разы лучше, чем это делают другие языки, а в идеале еще и возможность обмена сорцами с коллегами.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: Что вас останавливает от изучения нового языка?
От: jazzer Россия Skype: enerjazzer
Дата: 22.04.11 18:39
Оценка:
Здравствуйте, ajukraine, Вы писали:

Если не секрет, зачем было писать на английском и с ошибками?

# Сообщения следует писать на русском языке. Использование английского языка и транслитерации допускается только в крайнем случае. Использование любых других языков запрещается. В случае необходимости, пользуйтесь услугами сайтов-переводчиков:

* http://www.mashke.org/Conv/
* http://www.cifirica.ru/cifirica.php
* http://www.privet.com/decoder

jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Что вас останавливает от изучения нового языка?
От: alvas  
Дата: 22.04.11 18:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хочется собрать статистику (мнения) по поводу что останавливает людей от изучения новых языков.

VD>Для затравки дам некоторые возможные ответы:
VD>1. Синтаксические различия. Скажем, привык к сишному синтаксису, а в новом языке переменные по другому описываются (типы через двоеточие) и параметры типов задаются иначе. Если бы язык был полным супесетом того языка который я знаю, то изучил бы.
VD>2. Идеологические отличия. Например, язык не ООП, а я привык к ООП.
VD>3. Политические предпосылки — "Все равно не смогу применять его на работе...".
VD>...

VD>Так же интересно что останавливает от применения языков. Насколько часто бывает так, что язык вы изучили, а использовать его не можете?


1. Отсутствие нормальных книг. Читал про хаскель — не осилил
Купил F# Сошникова — тоже туго идет Читал про F# из блогов. Вроде нормально — можно использовать.
N пошел на ура, хоть и доки могло быть побольше.
Boo — нормально, только мало доки про метaпрограммирование.
Python — намана.
Ruby — давно это было, но тоже нормально.
Ela — прикольно, радует скорость обновлений
Lua

Считаю важным — даже если не используешь. Расширяет кругозор. Можно на проблему посмотреть со стороны.

4. Важная штука для использования — выход из статуса беты. Говорят мол — используй багов меньше чем в c#. А тут VladD2 предлагает ламающие изменения, мол еще бета, так что можно.
Вроде на этот раз пронесло.

ЗЫ.
1. Подскажите, пожалуйста, Программирование на F# Смит К. понятней чем у Сошникова или нет?
2. Заинтересовался Lisp — что посоветуете почитать?
http://alvas.net — Аудио-инструменты для .Net разработчиков
Re[2]: Что вас останавливает от изучения нового языка?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 22.04.11 19:05
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Занимаюсь компьютерным зрением, большая часть библиотек на С/С++. Меньше на Матлабе. Совсем немного — Фортран. У многих есть биндинги к другим языкам, но они не так удобны, например при отладке. Например, пытался использовать OpenCV из Питона — не пошло.


Для .NET, кстати, есть отличный порт/обёртка — EmguCV.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Что вас останавливает от изучения нового языка?
От: Hobot Bobot США  
Дата: 22.04.11 19:07
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>3. Политические предпосылки — "Все равно не смогу применять его на работе...".


HB>>Исключительно этот пункт. Вообще не выходит изучать что-то "для себя" — вроде и интересно, а "не идёт". Кстати, с обычными языками та же беда: заинтересовался было испанским, почитал, посмотрел, пару песенок перевёл, да и забросил.


VD>ОК, а чтобы могло подвигнуть преодолеть этот пункт?


Наличие подходящей задачи. Либо мне понадобится написать что-то для личного пользования (но это бывает редко) и я решу совместить это с изучением нового языка, либо по какой-то причине новый язык будет выбран для рабочего проекта (вот, сейчас, например, ждём проект на руби — будет повод познакомится с ней поближе).
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re: Что вас останавливает от изучения нового языка?
От: x-code  
Дата: 22.04.11 19:21
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хочется собрать статистику (мнения) по поводу что останавливает людей от изучения новых языков.


1. Несовмесимость новых языков с нативным программингом и с существующими проектами на С/С++.
2. Ориентированность новых языков на платформы дотнет/ява (в лучшем случае) или вовсе интерпретируемость (в худшем). Скрипты меня не интересуют.
3. Отсутствие в новых языках интеграции в Visual Studio из коробки, причем я имею в виду также и внутрипроектную интеграцию, которой нет нигде.
Внутрипроектная интеграция (интеграция на уровне файлов) — это такая интеграция, когда я могу в существующий проект на некотором языке (в моем случае С++) содержащий, скажем, несколько сотен файлов *.cpp, добавить новый файл типа file.newlang на новом языке и написать там пару функций или класс на новом языке. И чтобы компилятор корректно скомпилировал это и отдал общему линкеру. Это вообще НЕОБХОДИМОЕ условие перехода на любой новый язык — совмесимость с гигабайтами унаследованного кода. Это то, что следовало бы сделать, когда принимали новый стандарт С++: не впихивать кучу костылей в существующий cpp, а просто взять и сделать новое расширение cppx с ДРУГИМ синтаксисом, не ограниченным совмесиммостью со старым, и просто сказать: вот он, новый стандарт.

Впрочем, все это не мешает мне изучать новые языки (по крайней мере, собирать про них информацию).
Re[2]: Что вас останавливает от изучения нового языка?
От: CreatorCray  
Дата: 22.04.11 19:41
Оценка: +1
Здравствуйте, x-code, Вы писали:

XC>Это то, что следовало бы сделать, когда принимали новый стандарт С++: не впихивать кучу костылей в существующий cpp, а просто взять и сделать новое расширение cppx с ДРУГИМ синтаксисом, не ограниченным совмесиммостью со старым, и просто сказать: вот он, новый стандарт.

Ну и пошли бы они лесом. Как метры уже имеющегося кода переводить на новый стандарт? Выносить куски кода в отдельные файлы? В топку!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Что вас останавливает от изучения нового языка?
От: x-code  
Дата: 22.04.11 19:49
Оценка:
Здравствуйте, CreatorCray, Вы писали:

XC>>Это то, что следовало бы сделать, когда принимали новый стандарт С++: не впихивать кучу костылей в существующий cpp, а просто взять и сделать новое расширение cppx с ДРУГИМ синтаксисом, не ограниченным совмесиммостью со старым, и просто сказать: вот он, новый стандарт.

CC>Ну и пошли бы они лесом. Как метры уже имеющегося кода переводить на новый стандарт? Выносить куски кода в отдельные файлы? В топку!

Очень просто — по мере необходимости. Есть код, который работает десятки лет и никто его не трогает — зачем переводить? Но, если, к примеру, в процессе рефакторинга обнаружилось, что какую-то часть кода можно сделать лучше, можно было бы создать новый файл нового типа и написать эту часть уже по новому. За счет линковочной совмесимости старый код сможет работать с новым.
Re[4]: Что вас останавливает от изучения нового языка?
От: CreatorCray  
Дата: 22.04.11 19:54
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Очень просто — по мере необходимости. Есть код, который работает десятки лет и никто его не трогает — зачем переводить? Но, если, к примеру, в процессе рефакторинга обнаружилось, что какую-то часть кода можно сделать лучше, можно было бы создать новый файл нового типа и написать эту часть уже по новому. За счет линковочной совмесимости старый код сможет работать с новым.


Ок. Появилось например decltype и какой то template типа std::vector (это чтоб понятно было в скольких местах он используется) переписан более эффективно с его использованием.
И приехали.
Все старые .cpp в которых есть его include — уже надо переписывать на новый синтаксис.
В общем — плохая идея изначально.
Без backward compatibility такое расширение языка нафиг не нужно. Это будет уже отдельный язык.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.