Форум: "Потрепаться";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизДот НЕТ Найти похожие ветки
← →
Romkin (2002-12-15 16:57) [0]А точнее, С# :-)) Ознакомился немного с языком... Мда... Объясните мне, что это такое?! Я понимаю, MS любит идти своим путем, но так!
На мой взгляд (поверхностный) C# - это Object Pascal с прелестным оскалом С. Причем, извините, ублюдок какой-то получился :-)) Имхо, если уж брать, то целиком, а тут извращение - enum это и не множество (set) и не целая переменная, в результате, для комбинации флагов приходится объявлять атрибут [flags] :-))
С одной стороны - вроде С (иногда ++ :-)))), с другой - все как в ОП ???
← →
Romkin (2002-12-15 16:59) [1]PS http://rsdn.ru/article/default.asp?dotnet/regexprep_.xml
у меня вызывает некоторый нервический смех...
← →
Kapusto (2002-12-15 17:08) [2]Для начала неплохо бы отделить сам язык и библиотеки...
Т.е. проводить сравнение OP без VCL, и С# без System.*
Я бы не стал так утверждать, что C# - смахивает на OP, скорее уж на Java (что замечено многими)...
Его главным достоинством имхо является то, то он органически ложится на придуманный MS дотнет (странно, если бы было иначе :)
Собственно говоря, он для этого имхо и предназначен...
Как многоцелевой язык он не подходит, в отличии от OP или С++
ЗЫ: к "ублюдочным" языкам я бы тогда причислил также и Java... При наличии воображения можно точно также сказать, что Java похожа на OP...
← →
Anatoly Podgoretsky (2002-12-15 17:13) [3]Разработчик один и тот же, только надо было сделать Си подобный синтаксис и кое что взятб от Явы, нормальный ход со строны Микрософт.
← →
Romkin (2002-12-15 17:17) [4]Java- это Java...
Мне просто интересно, замени у C# синтаксис С на Паскаль, что получится? На мой взгляд - Object Pascal, немного усеченный... Почему Set не сделали?! Он еще в ANSI Pascal был!
← →
Romkin (2002-12-15 17:21) [5]Взять Java и расширить - это понять можно, а вот скрестить несколько языков, произвольно выкидывая некоторые их возможности - это как понимать?! Нельзя было сделать Object Pascal for .NET?
Самое занятное, что у меня создалось впечатление, что программисты на С восторгаются C# и при этом устойчиво ругают Object Pascal... При этом я не вижу, с чего бы это? Вроде различия что в языке, что в библиотеках минимальны... Выходит, только синтаксис?
← →
han_malign (2002-12-15 17:24) [6]> к "ублюдочным" языкам я бы тогда причислил также и Java...
тогда уж IDL к тем-же "ублюдочным" отнести можно - ОП + С++ + Basic, а от комбинации слов "Виртуальный Конструктор" - Вирт в гробу перевернется(если он там), Страуструп свое последнее издание съест, т.к. одно время при приеме на работу на вакансию ООП программиста вопрос на засыпку был:"Почему конструктор не может быть виртуальным"(для C++ до сих пор актуально).
← →
han_malign (2002-12-15 17:29) [7]>Romkin © (15.12.02 17:21)
> замени у C# синтаксис С на Паскаль, что получится? На мой взгляд - Object Pascal
Кстати тут тема бродит о покупке Borland-а Мелкомягкими, да еще Delphi.NET - никаких связей не замечаете?
← →
Anatoly Podgoretsky (2002-12-15 17:30) [8]Romkin © (15.12.02 17:21)
Маркетинг, а насчет for .Net будет в следующем году и даже обещают подключение к Visual Studio
← →
LongIsland (2002-12-15 17:32) [9]Вот что мне в .NET нравится, так это то, что он у меня лицензионный, в отличие от Дельфи:-)
И где взять денег на Дельфи...:(
← →
Romkin (2002-12-15 17:36) [10]2han_malign Вот-вот, именно что сначала посмотрел веточку :-))
Предчувствую результат - C-программеры мигрируют на C#, дельфисты - на for .NET :-)) После этого идут разборки вида "одно против другого", причем отличаться будет только синтаксисом :-))
Перефразирую немного вопрос. Обычно при создании нового языка в него вносится что-то принципиально новое, чего нет у других языков. Взять, к примеру, Java - объявлена кроссплатформность, со всеми вытекающими (нет указателей и тд)... Что нового в C# по сравнению с Object Pascal? Я вижу только недостатки... Ну понятно, скажете, сборка мусора... Ну и что? OP for .NET - то же самое...
← →
vuk (2002-12-15 17:43) [11]to Romkin:
>Нельзя было сделать Object Pascal for .NET?
Дык почти уже... :o)
to han_malign:
>от комбинации слов "Виртуальный Конструктор" - Вирт в гробу
>перевернется
С чего бы вдруг?
← →
Anatoly Podgoretsky (2002-12-15 17:46) [12]LongIsland © (15.12.02 17:32)
Какой смысл в сравнении технологии с языком, .NET не язык и ему глубоко плевать, на каком языке написано, какая ОС, какой процессор
Romkin © (15.12.02 17:36)
Если Борланд не выполнит свои обещания по .NET то многие перейдут на ноту, уже сейчас подумывают об этом
← →
Romkin (2002-12-15 17:49) [13]Вот сижу и думаю... Переходить или нет? Пожалуй, дождусь Борланд, там хоть нормально будет, все привычно, без извращений.
← →
LongIsland (2002-12-15 17:51) [14]
> Anatoly Podgoretsky © (15.12.02 17:46)
> LongIsland © (15.12.02 17:32)
> Какой смысл в сравнении технологии с языком, .NET не язык
> и ему глубоко плевать, на каком языке написано, какая ОС,
> какой процессор
Для придирчивых к словам: Visual Studio .NET
← →
LongIsland (2002-12-15 17:51) [15]
> Anatoly Podgoretsky © (15.12.02 17:46)
> LongIsland © (15.12.02 17:32)
> Какой смысл в сравнении технологии с языком, .NET не язык
> и ему глубоко плевать, на каком языке написано, какая ОС,
> какой процессор
Для придирчивых к словам: Visual Studio .NET:-)
← →
LongIsland (2002-12-15 17:52) [16]Хм... Оригинально...
← →
Suntechnic (2002-12-15 17:59) [17]>Romkin ©
Обычно при создании нового языка в него вносится что-то принципиально новое, чего нет у других языков.
Несколько странно это читать. По-моему наоборот. Все языки программирования похоже друг на друга как братья и отличаются, как правило, только синтаксисом :)
А вообще на любой новый язык все смотрят через призму того языка который лучше всего знают. Вот и получается что один смотрит и говорит млин... это ж Object Pascal, а другой говорит Java :). Что касается меня то мне C# больше на Java + С++ смахивает :)
а тут извращение - enum это и не множество (set) и не целая переменная, в результате, для комбинации флагов приходится объявлять атрибут [flags] :-))
Enum-ы в С# это почти полная копия enum-ов из С++, так что С-шники тут никакого извращения не наблюдают :) И кстати почему это enum не целая переменная? Именно так оно и есть. Любой enum имеет под собой underlaying type, которым должен быть один из integer типов. По умолчанию это int.
Взять, к примеру, Java - объявлена кроссплатформность, со всеми вытекающими (нет указателей и тд)... Что нового в C# по сравнению с Object Pascal?
Нет указателей :)
Я вижу только недостатки...
Можно поподробнее про недостатки? Я уже около года пишу на С# и на такие пока не нарывался.
← →
Romkin (2002-12-15 18:11) [18]2Suntechnic :-))
Я имел в виду недостатки по сравнению с Delphi & C++. Какой резон переходить на С#? множества нет... Множественного наследования нет... Шаблонов нет... Насколько знаю, массивов переменной длины нет... Указателей нет... :-)) Что есть такого, чего бы не было в Паскале? Что есть в Объектном Паскале, чего нет в C#?
Мне, например, очень неприятно иметь только некоторые возможности Объектного паскаля, и при этом синтаксис С... Ну бесит меня case sensitive, что поделать? в С++ - нормально, а вот в С#...
Насчет enum - наткнулся на на фразу, что нельзя так просто объединять флаги в переменную этого типа...
А может, и правильно сделали нечто среднее? и с этой стороны перейти легко, и с той...
← →
LongIsland (2002-12-15 18:15) [19]А вдруг это для мягкого перехода паскалистов на С?:-)
← →
Anatoly Podgoretsky (2002-12-15 18:22) [20]Нет, даже с С# будет сложновато переходить на С++ не смотря на сходство синтаксиса
← →
Kapusto (2002-12-15 18:27) [21]Ну насчет отсутствия массивов переменной длины - это как посмотреть
конструкция new int[GetSize()] вроде бы прокатывает...
тебе это надо было?
а насчет перехода с чего-то на чего-то - жизнь заставит, будешь и на VisualBasic"e писать :)))
Главное - четко представлять возможности языка (и наличия библиотек) по решению данной задачи...
← →
Suntechnic (2002-12-15 18:35) [22]>Romkin © (15.12.02 18:11)
Множественного наследования нет...
В этом плане это чистая Java :)
Шаблонов нет...
Готовится к выходу следующая версия языка. Шаблоны там уже будут присутствовать, причём их имплементация будет, как мне кажется, интереснее чем в С++.
Насколько знаю, массивов переменной длины нет...
Массивы в С#, точно так же как и в Java, имеют объектную природу. И само понятие "массив переменной длины" это, как бы сказать помягче, фикция. Самом понятие массива(в любом языке программирования) не подразумевает его "вольное" расширение. Увеличение размера массива всегда и везде связано с перераспределением памяти(явно или неявно, т.е. видим мы это или нет). Так что здесь чисто концептуально С# соответствует теории :)
Что есть такого, чего бы не было в Паскале?
Мне тяжело судить, я не крупный специалист в Паскале. Поправьте меня если я ошибаюсь. Атрибуты разве есть? Boxing разве есть(можно ли преобразовать переменную типа int в Object)?
← →
Suntechnic (2002-12-15 18:48) [23]Кстати, чуть не забыл :)
Romkin © (15.12.02 18:11)
...Указателей нет... :-)) ...
Указатели тоже есть, как ни странно это звучит :) Просто область их применения ограничена.
← →
Marser (2002-12-15 21:22) [24]С++ не ублюдок, из современных объектных он первенец.
← →
Romkin (2002-12-16 11:25) [25]Посмотрел, что такое атрибуты... Мало что понял :-))
Это свойство среды, а не языка, они есть и в C++ и в VB, уверен, в Delphi for .NET тоже будут, куда денешься... Вот только что это? Документация кода? добавление примечаний? Обходились до этого - вставляешь дебаггинг, и на этапе разработки все доступно без написания кода, во внешнем просмотровщике...
Boxing уж точно нет :-)) Хотя не понял окончательно, но из переменной стандартного типа просто так объект не сделаешь... Delphi ориентируется на variant, в D6 есть нечто, позволяющее на основе variant создавать свои типы с перегрузкой операций :-)) Есть модуль комплексных чисел, сейчас смотрю, как бы матрицы присобачить. Как раз то, чего мне в Паскале не хватало, но было в С++ - перегрузка операторов :-))
← →
Ketmar (2002-12-16 12:00) [26]кстати, объясните мне, тупому: что есть такого крутого в .NET, чего нету, например, в JAVA VM? и когда .NET появится для стольких же платформ, что и JAVA? имхо - очередная плюха от M$, в принципе неплохая, но ой, как лишня...
Satanas Nobiscum! 16-Dec-XXXVII A.S.
← →
BlackTiger (2002-12-16 12:09) [27]Пустой разговор ведете, господа!
Эта дискуссия сродни флейма типа "Linux-Windows-Сам-дурак". Уже давно нет никаких принципиальных различий между основными языками программирования, кроме синтаксиса.
А на все "что есть в C и нет в OP" я могу задать встречный вопрос - "а на фига?".
Множественное наследование? А на фига? Объединить 124 класса в один и иметь в 124 раз больше проблем? Приведите пример того, когда это ОЧЕНЬ нужно. При этом такое наследование ЕСТЬ - сейчас в книге прочитал! Со своими "но", но есть.
Боксинг (вот это просто бред)? А на фига?
"Продвинутые" указатели? А на фига?
Перегрузка операторов?... ... ... А на фига? Потом ищи ошибку в ндцати реализаций одного метода. Да иногда кажется, что надо, а на самом деле - нафиг?
Ну и так далее.
Хотя мне лично .NET понравилась. Любителям проехаться по бейсику - "VB.NET" - одно название, реально полностью ОО язык программирования, даже местами синтаксис изменился.
← →
Romkin (2002-12-16 12:10) [28]Талантливая плюха, однако :-))
о Sun JavaONE никто не говорит, хотя полный аналог, для Java
← →
Ketmar (2002-12-16 12:17) [29]>Romkin © (16.12.02 12:10)
нет, я же не умаляю их таланта. да, умеют. я только говорю, что (как и всегда, впрочем) их маркетинговые заявления - бред Севы Кобылянского. с о-о-очень большого перепою. %-)
Satanas Nobiscum! 16-Dec-XXXVII A.S.
← →
NailS (2002-12-16 12:25) [30]
> Перегрузка операторов?... ... ... А на фига?
Очень полезная вешь, однако.
Простой пример.
Контейнер для хранения данных и поиска по ключу.
Ключ может быть интом а может и структурой.
Если переопредалить опрераторы сравнения для структуры, то задача вырождается в контейнер где ключом является инт.
← →
VaS (2002-12-16 12:32) [31]Romkin: Скачай Delphi for .NET preview. К нему идет немножко доков. Почитай. В общем и целом - C# с синтаксисом OP. Атрибуты, статические методы, свойства, поля (пока не реализовано). Плюс к этому - конструкторы метаклассов, весьма изящная неявная реализация IDisposible (в случае наличия переопределенного деструктора) наряду с Finalize(). Class helpers - может, я чего не понимаю, но это надругательство над ООП. Хорошо, если я не прав.
Хотя конвертированные куски VCL наводят на грустные мысли - в запущенном виде приложение дает 100% загрузку ЦП, имеет размер в 20 раз больше, чем без VCL, завершается с непонятной паузой 2-3 сек (видимо, gc).
← →
paul_shmakov (2002-12-16 12:36) [32]2 Romkin:
а автор у c# тот же, что и у delphi ;)
← →
Romkin (2002-12-16 12:36) [33]Все ведутся на эти заявления :-)) И успешно... Так что, увы :-(( надо изучать, скоро все будут на этом сидеть, чую...
2BlackTiger ты не понимаешь, Java - это какая-то Sun, с которой MS поссорилась еще давно, вот и ответ Чемберлену :-))
← →
Romkin (2002-12-16 12:45) [34]2VaS paul_shmakov :-)))) Мне так и казалось почему-то
← →
paul_shmakov (2002-12-16 12:57) [35]2 VaS:
"Хотя конвертированные куски VCL наводят на грустные мысли - в запущенном виде приложение дает 100% загрузку ЦП, имеет размер в 20 раз больше, чем без VCL, завершается с непонятной паузой 2-3 сек (видимо, gc). "
это preview! так что не стоит переживать. а то, что приложения достаточно большие, и памяти жрут много - это факт для всего .net на сегодня.
скачайте rsdn@home - offline гляделка форумов rsdn. написана на c# под dotnet. памяти жрет много, но работает, и без особых тормозов.
2 Romkin:
"Так что, увы :-(( надо изучать, скоро все будут на этом сидеть, чую..."
ну c# учить необязательно - delphi.net ведь будет. в
том конечно серьезное достоинство .net - используй тот язык, какой по душе.
← →
Romkin (2002-12-16 13:12) [36]Утоплюсь... Память постоянно периодически наращиваю, и постоянно ее не хватает :-(( И без всякого NET...
← →
Игорь Шевченко (2002-12-16 13:35) [37]Romkin © (16.12.02 13:12)
А оно сильно надо переходить на .Net ? :-)
Или "в этом сезоне дубленки модно покупать в "Снежной Королеве".." ?
Или требования заказчика - только на .Net и не иначе ?
С уважением,
← →
Ketmar (2002-12-16 13:53) [38]>Игорь Шевченко © (16.12.02 13:35)
пока - нафиг не надо переходить. никаких шибких преимуществ (имхо, имхо %-) пока у него нет. а заказчик... это у него свойство такое - хотеть. а у нас - объяснять, что да, мы используем самую крутую технологию "SuperXML.NET release 2" и писать на старом добром эльфе... %-)
Satanas Nobiscum! 16-Dec-XXXVII A.S.
← →
Romkin (2002-12-16 14:08) [39]2Игорь Шевченко: Требования заказчика, когда он узнает, что для NET ему надо обновить весь парк компьютеров - "Эапихните это..."
Просто странно - в какой журнал ни заглянешь, везде чего-то NET...
2Ketmar Присоединяюсь :-))
← →
Игорь Шевченко (2002-12-16 14:34) [40]Romkin © (16.12.02 14:08)
Насчет журналов - эт точно. Насколько интересно было читать первые два сигнальных номера MSDN русская редакция, а сейчас там сплошной .Net и ничего более...А мы вот на него подписались...
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.01 c