| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .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 можно писать на любом языке". |
| Автор: Tomcat 24.3.2005, 10:55 | ||
Ого! Lisp c Prolog-ом даже есть... Хана Яве. А насчет мертворожденных, не знаю... Может, действительно, только рекламы ради и сделаны. А может двинется все, когда .NET более глубоко войдет в операционки. Хотя, например, задачи искуственного интелекта решать на винде, пусть это даже будет Longhorn-ом... пока вызывает улыбку |
| Автор: Domestic Cat 24.3.2005, 11:33 | ||||
да он в лонгхорн врядли серьезно войдет, а больше никуда его не пустят.
Все эти языки отличются одним - оберткой; т.е. чисто внешними особенностями ну и количетвом фич. Больше ничем. А такие языки никому не нужны, потому что по сути ты пишешь то же, что и на шарпе, к примеру, но по-другому. Возьми тот же пролог - ну какая компания наймет программиста на прологе под НЕТ ? Потом ведь код этот нужно поддерживать, а прологовцев мало. Лучше сразу шарп-программера. Ну и выхолощенные эти языки. Все равно на уровне ИЛ их различия теряются, и 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. |
| Автор: arilou 24.3.2005, 15:55 |
| А я считаю, что уклон сделан на то, что разные языки сделаны для того, чтобы решать задачи. Представьте себе систему, где на Прологе пишут базу знаний (то, для чего он лучше всего подходит), а на C#, например, интерфейс. И все это прекрасно вместе работает. Сказка просто |
| Автор: Tomcat 24.3.2005, 16:44 | ||
Вот об этом я и говорил... А только ради того, чтобы кто-то быстрее пересел на .NET - это вряд ли! Что толку, в этом случае от того же J#, если, большая часть знания Java заключается не в синтаксе, а в ее библиотеках?! Тоже самое и c Perl. Знаешь его - это хорошо! Только, как бы ты его не знал, все равно неймспейсы .NET учить придется. |
| Автор: Domestic Cat 24.3.2005, 18:53 |
| |
| Автор: arilou 25.3.2005, 11:42 | ||
C#, VB.NET Вопрос не в том, на чем мы пишем, а в том, какую возможность нам дает language interoperability. Как PM, я знаю, что задача с базами знаний решаема на .NET'е с привлечением специалиста по Прологу |
| Автор: [Last]Wizard 25.3.2005, 11:47 | ||
Вот именно. Единственное, что общего у 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 | ||||
Ну так я ж о чем говорил - посмотри мой пост. Я не писал, что задачи с БД не решаемы с привлечением специалиста по Прологу. Я писал, что все языки .НЕТ, кроме 4х, мертвы. Причем не в том смысле что на них пишут 0 человек, а в том, что спрос на таких программистов нулевой. И какой компании выгодно привлекать специалиста по Прологу для работы с БД? Ну, для какой-то суперособенной работы разве что. А обычная фирма/компания мохет легко и просто обойтись своими средствами, без лишних затрат.
Интероперабилити хороша, но для принципиально различных систем, типа RMI-CORBA, J2EE - .NET и т п. А в случае с .нет языками нинакой по сути дела особенной интероперабилити и нету. В чем преимущества -то? Что такого ты можешь сделать на ВБ, что нельзя на шарпе (или наоборот)? Вот в случае J2EE - .NET - там смысл есть. А тут? |
| Автор: arilou 25.3.2005, 12:20 | ||||||
Тут я согласен. Но, наверное, мы немного недопоняли друг друга. Я говорю о том, что если мне надо будет написать экспертную систему, то, принимая во внимание тот факт, что моя команда знает .NET лучше других технологий, я привлеку спеца по Прологу, дам ему изучить его реализацию под .NET, и, поскольку все языки, поддерживающи CTS и CLS, совместмы между собой, моя команда благополучно создаст продукт, оперирующий всякими там предикатами в среде .NET
Тут другое - C# и VB.NET по большому счету идентичны (не надо только приводить различий, я в курсе
Cм.выше P.S. Вспомнил, что кто-то из динозавров говорил, что "каждой задаче свой язык" |
| Автор: Tomcat 25.3.2005, 18:47 | ||||
| На все сто согласен с arilou... Добавлю только вот к
Так же можно дать задание кому-нибудь из своих специалистов подучить Prolog.NET, соответсвенно с тем подходом, для которого он предназначен. Более менее толковый программер должен иметь понятие о логическом программировании. В обоих этих случаях появляется выигрыш. В первом, что специалисту не придется учить синтаксис языка и соответствующий подход, во втором не надо будет заморачиваться платформой. И еще...
Ответ простой - философии... |
| Автор: Domestic Cat 25.3.2005, 19:36 | ||
А кто-нибудь из вас такой подход применял? |
| Автор: Exception 29.3.2005, 11:36 |
| имхо VB .NET тоже имеет право на жизнь ЗЫ Вы же IL забыли Кстати: купил Delphi 2005... мне за Borland стыдно стало |
| Автор: arilou 29.3.2005, 11:59 | ||||
Возможно ты и прав. Спрос на язык определяется предложением задач, которые он может решить. Другое дело, что есть вероятность того, что будет задача, кот. потребует привлечения спец-ов по Прологу
VB.NET мы не забыли, не расстраивайся. |