Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   В чём различие net языков? (http://forum.oszone.net/showthread.php?t=235663)

сумрак 30-05-2012 23:55 1925301

В чём различие net языков?
 
С недавнего времени начал интересоваться и понемногу изучать кодинг. Выбрал для себя язык ruby, решил подобрать второй язык, думаю взять что то из net платформы. И вот тут собственно меня и посетил вопрос - а чем вообще различаются (кроме синтаксиса) нЭт языки?
Если я правильно понимаю то все они компилируются в псевдокод в нЭт машину, затем получается экзешник. Т.е принцип один и тот же, среда та же, как и вирт машина где это всё происходит. Так а в чём разница?
Почему все критикуют или попросту игнорируют бэйсик и предпочитают его С++ или С шарпу, если по сути при кодинге в VS всё равно получится одно и тоже. Или я что то недопонял?

Iska 31-05-2012 00:54 1925317

сумрак, разные базовые языки генерируют разный CIL, в том числе и из-за различий в самой архитектуре языка.

Delirium 31-05-2012 01:08 1925320

Цитата:

Цитата сумрак
игнорируют бэйсик и предпочитают его С++ или С шарпу »

Ну если ты сможешь на бейсике(именно на BASIC) написать какой нибудь документооборот с клиент-серверной архитектурой, то ты невероятно крут :)
С++ - более независим от всяческих сторонних библиотек, но и более сложен, в сравнении с C#.
С# - полностью зависит от .Net Framework, но более гибок и легок при построении приложений.
Хочешь более точно контролировать поведение своих программ - выбирай C++. Но придется самому возиться с выделением памяти, ее очисткой и т.д и т.п.
Хочешь быстро писать простые приложения - выбор C# или Vb.Net. Они отличаются только синтаксисом языка и не более того.
P.S. Это исключительно мое мнение.

ferget 31-05-2012 02:16 1925335

Цитата:

Цитата Delirium
C# или Vb.Net»

они отличаются типизацией данных

такой код
Код:

Dim s As String
s="Hello"
s=5

компилятор VB.NET соберет, правда, с предупреждением

Delirium 31-05-2012 02:24 1925338

ferget, это уже нюансы, само собой. Суть от этого не меняется. :) Но, по моему мнению, это неверный подход(я про твой пример).

XPEHOMETP 01-06-2012 12:43 1925984

Суть в том, что платформа .Net позволяет свободно мешать любые языки, ее поддерживающие. Там без разницы, на чем написано, в конце концов все перегоняется в один и тот же байткод. Хотите совершенствоваться на ruby, так имеете ровно те же возможности, что и на любом другом языке. Если различия есть, то люди, поддерживающие некий конкретный язык, еще не все просекли в .Net. Когда просекут, разницы не будет просто никакой. Точнее, она будет в плюс, из-за выигрышных факторов программирования на неком конкретном языке, но только для людей, умеющих хорошо на нем программировать. Плюс к тому, в любом нормальном .Net языке обязана быть поддержка unmanaged code (или - non-managed) - типа, при желании и умении можно подключить программы и их компоненты, написанные не на .Net-языках. И тут .Net - ну просто идеал для программиста... если бы не обилие совершенно несовместимых версий, и не явно наглые требования к дисковому пространству для размещения последних .Net-версий...

Iska 01-06-2012 19:57 1926282

Цитата:

Цитата XPEHOMETP
Там без разницы, на чем написано, в конце концов все перегоняется в один и тот же байткод. »

Правильнее сказать: программа проходит стадию компиляции в промежуточный байт-код. Говорить «в один и тот же байткод» — некорректно.

Цитата:

Цитата XPEHOMETP
так имеете ровно те же возможности, что и на любом другом языке. »

Нет. Каждый язык обладает своими особенностями.

Цитата:

Цитата XPEHOMETP
Если различия есть, то люди, поддерживающие некий конкретный язык, еще не все просекли в .Net. Когда просекут, разницы не будет просто никакой. Точнее, она будет в плюс, из-за выигрышных факторов программирования на неком конкретном языке, но только для людей, умеющих хорошо на нем программировать.»

Будет. Вы не внедрите логику предикатов Пролога в C++. И это не относится к «хорошо уметь программировать» — это базовый функционал языка.


Время: 22:29.

Время: 22:29.
© OSzone.net 2001-