Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Языки .NET.


Автор: Tomcat 23.3.2005, 20:24
Вот под конец рабочего дня задался таким вопросом. Так какие же для .NET-а есть языки? Есть ли где-нибудь список всех языков, если их так много, конечно?

Автор: Domestic Cat 23.3.2005, 20:52
http://www.dotnetpowered.com/languages.aspx

Имхo, все они, за исключением четырех, мертвороженные.

Автор: alir 23.3.2005, 22:05
Цитата
все они, за исключением четырех, мертвороженные.


Вообще да, их наделали чисто для рекламы, чтоб можно было сказать практически верное сообщение со своими подводными камнями:
"Для .NET можно писать на любом языке". smile

Автор: Tomcat 24.3.2005, 10:55
Цитата(Domestic @ 23.3.2005, 19:52)
http://www.dotnetpowered.com/languages.aspx

Имхo, все они, за исключением четырех, мертвороженные.

Ого! Lisp c Prolog-ом даже есть... Хана Яве. smile

А насчет мертворожденных, не знаю... Может, действительно, только рекламы ради и сделаны. А может двинется все, когда .NET более глубоко войдет в операционки.
Хотя, например, задачи искуственного интелекта решать на винде, пусть это даже будет Longhorn-ом... пока вызывает улыбку smile ... надеюсь, что пока.

Автор: Domestic Cat 24.3.2005, 11:33
Цитата(Tomcat @ 24.3.2005, 01:55)
войдет в операционки.

да он в лонгхорн врядли серьезно войдет, а больше никуда его не пустят.
Цитата(Tomcat @ 24.3.2005, 01:55)
А насчет мертворожденных, не знаю...

Все эти языки отличются одним - оберткой; т.е. чисто внешними особенностями ну и количетвом фич. Больше ничем. А такие языки никому не нужны, потому что по сути ты пишешь то же, что и на шарпе, к примеру, но по-другому. Возьми тот же пролог - ну какая компания наймет программиста на прологе под НЕТ ? Потом ведь код этот нужно поддерживать, а прологовцев мало. Лучше сразу шарп-программера.
Ну и выхолощенные эти языки. Все равно на уровне ИЛ их различия теряются, и J# не приобретет магическим образом кроссплатформенность и написать на нем EJB ты не сможешь. Раз так - то грош цена такому языку. Разве что для программера удобнее, и то - спрос на "экзотических" .НЕТ программеров очень мал, потому большинство будет учить шарп, вб или мс++ .

Автор: Tomcat 24.3.2005, 14:44
Не со всем согласен.

Естественно, что языки отличаются "оберткой". Да, на уровне IL все особенности потеряются. Так и что из этого? Программа, написаная на том же прологе, все равно в конечном итоге транслируется в последовательность команд процессора. В условиях .NET эти команды просто заменяются на команды IL-а.
Надо различать несколько понятия языка и платформы/технологии. Специавикация языка подразумевает не только правила синтаксиса, но и последовательность трансляции и выполнения команд. J# не приобретает кроссплатформенности точно также, как ее не приобретает язык Java. Это понятие относится к технологии Java, или как там ее еще можно назвать...

Вот к мертворожденным я бы отнес отдельные языки, которые используют алгоритмический и ОО подход. В них действительно нет смысла, так как имеется уже устоявшиеся: C#, C++.NET, VB.NET и J#. А вот задачи, например, логического и функционально программирования, проще будет решать на соответсвующих языках, нежели на C#. При этом будет использоваться вся мощь .NET.

Автор: alir 24.3.2005, 15:47
Тут уклон сделан на удобство. Пусть они все в конечном итоге определяют одну сущность. Но тут смысл в том, чтоб программисты на
разных языках могли быстро начать программировать под .net:
зачем perl-щику тратить время на изучения C#, если он сразу начать
писать на perl.net. smile

Автор: arilou 24.3.2005, 15:55
А я считаю, что уклон сделан на то, что разные языки сделаны для того, чтобы решать задачи. Представьте себе систему, где на Прологе пишут базу знаний (то, для чего он лучше всего подходит), а на C#, например, интерфейс. И все это прекрасно вместе работает.
Сказка просто smile

Автор: Tomcat 24.3.2005, 16:44
Цитата(arilou @ 24.3.2005, 14:55)
А я считаю, что уклон сделан на то, что разные языки сделаны для того, чтобы решать задачи. Представьте себе систему, где на Прологе пишут базу знаний (то, для чего он лучше всего подходит), а на C#, например, интерфейс. И все это прекрасно вместе работает.
Сказка просто smile

Вот об этом я и говорил...

А только ради того, чтобы кто-то быстрее пересел на .NET - это вряд ли!
Что толку, в этом случае от того же J#, если, большая часть знания Java заключается не в синтаксе, а в ее библиотеках?!
Тоже самое и c Perl. Знаешь его - это хорошо! Только, как бы ты его не знал, все равно неймспейсы .NET учить придется.

Автор: Domestic Cat 24.3.2005, 18:53
smile А сами то вы нa чем пишите? Вот взял я monster.ca и стал искать (ну, предположим я так крут что знаю Perl NET, Prolog .NEТ и J# ): все что я нашел - однa позиция в Оттаве консультантом микрософта. И на кой мне эти языки сдались тогда?

Автор: arilou 25.3.2005, 11:42
Цитата(Domestic @ 24.3.2005, 18:53)
А сами то вы нa чем пишите?

C#, VB.NET
Вопрос не в том, на чем мы пишем, а в том, какую возможность нам дает language interoperability. Как PM, я знаю, что задача с базами знаний решаема на .NET'е с привлечением специалиста по Прологу smile

Автор: [Last]Wizard 25.3.2005, 11:47
Цитата(Tomcat @ 24.3.2005, 15:44)
Тоже самое и c Perl. Знаешь его - это хорошо! Только, как бы ты его не знал, все равно неймспейсы .NET учить придется.

Вот именно. Единственное, что общего у Perl и Perl.NET - это синтаксис. И единственное, чем различаются Perl.NET и, скажем, C# - тоже синтаксис.

А теперь такой вопрос: что легче изучить - C# или Perl.NET? Каких книг/статей/сайтов больше - посвященных C# или Perl.NET? В MSDN на чем примеры - на C# или Perl.NET?

ИМХО, реально сейчас живут 3 языка: C# (основной), VB.NET (скорее по историческим причинам), C++.NET (еще еле дышит, но скоро загнется). Все остальное - выпендреж.
ИМХО.

arilou, я конечно не спец в прологе, мне просто интересно, что такого есть в Прологе.NET, чего нет например в C# или VB.NET?

Автор: Domestic Cat 25.3.2005, 11:56
Цитата(arilou @ 25.3.2005, 02:42)
Как PM, я знаю, что задача с базами знаний решаема на .NET'е с привлечением специалиста по Прологу smile


Ну так я ж о чем говорил - посмотри мой пост. Я не писал, что задачи с БД не решаемы с привлечением специалиста по Прологу. Я писал, что все языки .НЕТ, кроме 4х, мертвы. Причем не в том смысле что на них пишут 0 человек, а в том, что спрос на таких программистов нулевой.
И какой компании выгодно привлекать специалиста по Прологу для работы с БД? Ну, для какой-то суперособенной работы разве что. А обычная фирма/компания мохет легко и просто обойтись своими средствами, без лишних затрат.

Цитата
Вопрос не в том, на чем мы пишем, а в том, какую возможность нам дает language interoperability.

Интероперабилити хороша, но для принципиально различных систем, типа RMI-CORBA, J2EE - .NET и т п. А в случае с .нет языками нинакой по сути дела особенной интероперабилити и нету. В чем преимущества -то? Что такого ты можешь сделать на ВБ, что нельзя на шарпе (или наоборот)? Вот в случае J2EE - .NET - там смысл есть. А тут?

Автор: arilou 25.3.2005, 12:20
Цитата(Domestic @ 25.3.2005, 11:56)
Я не писал, что задачи с БД не решаемы с привлечением специалиста по Прологу. Я писал, что все языки .НЕТ, кроме 4х, мертвы. Причем не в том смысле что на них пишут 0 человек, а в том, что спрос на таких программистов нулевой.

Тут я согласен. Но, наверное, мы немного недопоняли друг друга. Я говорю о том, что если мне надо будет написать экспертную систему, то, принимая во внимание тот факт, что моя команда знает .NET лучше других технологий, я привлеку спеца по Прологу, дам ему изучить его реализацию под .NET, и, поскольку все языки, поддерживающи CTS и CLS, совместмы между собой, моя команда благополучно создаст продукт, оперирующий всякими там предикатами в среде .NET smile
Цитата(Domestic @ 25.3.2005, 11:56)
В чем преимущества -то? Что такого ты можешь сделать на ВБ, что нельзя на шарпе (или наоборот)? Вот в случае J2EE - .NET - там смысл есть. А тут?

Тут другое - C# и VB.NET по большому счету идентичны (не надо только приводить различий, я в курсе smile ), они направлены на решение одного круга задач, а вот тот же Пролог или Лисп ориентированы совсем на другие. В рамках .NET все эти языки совместимы - т.е., код, написанный на каком-нить Лиспе, будет успешно использоваться из C# или VB.NET.

Цитата
Wizard, 25.3.2005,  11:47]я конечно не спец в прологе, мне просто интересно, что такого есть в Прологе.NET, чего нет например в C# или VB.NET?

Cм.выше smile

P.S. Вспомнил, что кто-то из динозавров говорил, что "каждой задаче свой язык" smile То-ли Страуструп, то-ли кто-то другой smile

Автор: Tomcat 25.3.2005, 18:47
На все сто согласен с arilou...
Добавлю только вот к
Цитата
Я говорю о том, что если мне надо будет написать экспертную систему, то, принимая во внимание тот факт, что моя команда знает .NET лучше других технологий, я привлеку спеца по Прологу, дам ему изучить его реализацию под .NET, и, поскольку все языки, поддерживающи CTS и CLS, совместмы между собой, моя команда благополучно создаст продукт, оперирующий всякими там предикатами в среде .NET

Так же можно дать задание кому-нибудь из своих специалистов подучить Prolog.NET, соответсвенно с тем подходом, для которого он предназначен. Более менее толковый программер должен иметь понятие о логическом программировании.
В обоих этих случаях появляется выигрыш. В первом, что специалисту не придется учить синтаксис языка и соответствующий подход, во втором не надо будет заморачиваться платформой.

И еще...
Цитата
Wizard, 25.3.2005,  10:47]я конечно не спец в прологе, мне просто интересно, что такого есть в Прологе.NET, чего нет например в C# или VB.NET?

Ответ простой - философии... smile

Автор: Domestic Cat 25.3.2005, 19:36
Цитата(Tomcat @ 25.3.2005, 09:47)
Ответ простой - философии... smile


А кто-нибудь из вас такой подход применял? smile А то рассуждать можно как угодно. Вот мне кажется, что во всей Канаде такой подход как-то не практикуется, что видно по отсутствию спроса. Почему? Потому что не выгодно экономически, видимо. На голой философии далеко не уедешь, нужны сображения экономические. А так как прошло уже порядком времени после выхода НЕТ, и мы до сих пор не видим спроса на кучу языков, то видимо так и будет дальше.

Автор: Exception 29.3.2005, 11:36
имхо VB .NET тоже имеет право на жизнь smile
ЗЫ Вы же IL забыли smile
Кстати: купил Delphi 2005... мне за Borland стыдно стало smile

Автор: arilou 29.3.2005, 11:59
Цитата(Domestic @ 25.3.2005, 19:36)
А так как прошло уже порядком времени после выхода НЕТ, и мы до сих пор не видим спроса на кучу языков, то видимо так и будет дальше.

Возможно ты и прав. Спрос на язык определяется предложением задач, которые он может решить. Другое дело, что есть вероятность того, что будет задача, кот. потребует привлечения спец-ов по Прологу smile, и есть возможность, кот. предоставляется фреймворком.

Цитата(Run @ 29.3.2005, 11:36)
имхо VB .NET тоже имеет право на жизнь

VB.NET мы не забыли, не расстраивайся. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)