Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.55 MB
Время: 0.008 c
7-15322
Format
2002-10-21 00:37
2003.01.06
Координаты иконок


14-15281
BlackTiger
2002-12-17 00:21
2003.01.06
Не про Дельфи, а про PHP, но может кто подскажет.


3-14950
SerVS_
2002-12-14 20:19
2003.01.06
Как получить значение автоинкриментного поля сразу после вставки?


3-14964
Лесник
2002-12-15 00:01
2003.01.06
Кak cоздать БД M$ Access в рантайме


14-15301
Anatoly Podgoretsky
2002-12-18 07:39
2003.01.06
Именинники 18 декабря





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский