LINUX.ORG.RU
ФорумTalks

C#


0

0

Кто-нибудь писал\пишет на С#? Недавно смотрел исходник на нем - как-то кривенько все выглядит. У кого какие впечатления?


>Кто-нибудь писал\пишет на С#? Недавно смотрел исходник на нем - как-то кривенько все выглядит. У кого какие впечатления?

питон лучше, а Си быстрее :)

geek ★★★
()
Ответ на: комментарий от geek

шарп - это недоношенный уродец
вроде бы соблюдается 3 основных кита ооп
но при этом :
множественного наследия - тю-тю
вместо virtual придумали override
если взять базовые типы - их зачем-то унаследовали от еще более базового типа обжект

kto_tama ★★★★★
()

На Nemerle посмотри, если .NET интересует.

Begemoth ★★★★★
()
Ответ на: комментарий от kto_tama

>если взять базовые типы - их зачем-то унаследовали от еще более базового типа обжект

В смаллтоках разве не так?

zaregazza
()
Ответ на: комментарий от Lockywolf

> А он совместим с С ?

> В смысле, компилятором С# можно скомпилить С код?

> С++овым можно, а вот как C# ?

тут типа надо громко смеяться? в с-шарпе отсутствуют такие вещи как например указатели (char *s)

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

anonymous
()
Ответ на: комментарий от Lockywolf

>В смысле, компилятором С# можно скомпилить С код?

>С++овым можно, а вот как C# ?

ты тоже уверен, что Си - это подмножество С++? =) Мля, где вас такому учат-то?

geek ★★★
()
Ответ на: комментарий от geek

> ты тоже уверен, что Си - это подмножество С++? =) Мля, где вас такому учат-то?

меня честно говоря с++ нигде не учили. но вот я чо-то навскидку не вспомню, что есть в с и нет в с++

anonymous
()
Ответ на: комментарий от anonymous

>меня честно говоря с++ нигде не учили. но вот я чо-то навскидку не вспомню, что есть в с и нет в с++

на википедии хотя бы посмотри

geek ★★★
()
Ответ на: комментарий от geek

1) несовместимость типов указателей. лечится элементарно

2) ключевые слова -- это кстати к совместимости с и с++ мало имеет отношение, ибо не относится к структуре самого кода, а лишь к выбору переменных. и поменять их в проекте можно нажав три кнопки

3) какая-то тонкость с гото

это все что ли? не гик, ты не прав. с -- таки подмножество с++

anonymous
()

Интересно, а писать обратный слеш(\) вместо прямого(/) - это венда так загипнотизировала?

Deleted
()
Ответ на: комментарий от Deleted

>>в с-шарпе отсутствуют такие вещи как например указатели

Тогда это просто говно.


Я то надеялся, что с# обфускатору можно скормить
с-код...

>>писать обратный слеш

нет, не винда, а английская раскладка раскладка :-)

Lockywolf ★★★
()
Ответ на: комментарий от Lockywolf

> >>в с-шарпе отсутствуют такие вещи как например указатели

> Тогда это просто говно

указатели -- говно, это ты совершенно точно подметил

только непонятно при чем тут сишарп %)

anonymous
()
Ответ на: комментарий от Anoxemian

в шарпе есть ублюдочное подобие указателя - делегат называется
нет никакой совместимости между шарпом и плюсами
собственно , зачем в названии языка присутствует "C" - непонятно
на жабу все это смахивает

kto_tama ★★★★★
()
Ответ на: комментарий от Lockywolf

> нет, не винда, а английская раскладка раскладка :-)

И что? :)

Deleted
()
Ответ на: комментарий от kto_tama

> зачем в названии языка присутствует "C" - непонятно

чтобы быдлокодеров не распугивать

Begemoth ★★★★★
()
Ответ на: комментарий от Anoxemian

> > указатели -- говно

> Почему? О_о

главным образом потому, что работа с памятью становится похожей на игру в русскую рулетку

многочисленные эксплойты, эксплуатирующие переполнение буфера -- тому наглядное подтверждение

anonymous
()
Ответ на: комментарий от kto_tama

> собственно , зачем в названии языка присутствует "C" - непонятно

все как раз понятно. очень даже с-лайк езыг

а совместимости между ++ и # как раз дохерища. вот например зачем они такую говняшку как options притащили в # -- я вообще не понял. эта гадость должна была сдохнуть вместе с ++

anonymous
()
Ответ на: комментарий от kto_tama

Не совсем так. Конечно в написать в коде на C# кусок на C или C++ не получится, но спокойн можно использовать функции из библиотек на C/C++, там файктически тот же dlopen и ко. С указателяси тоже можно работать прямо внутри кода на C# - http://msdn2.microsoft.com/en-us/library/t2yzs44b.aspx

вообще тут народ как-то очень странно определает ооп это язык или нет, особенно если учитывать что ООП это по сути методика программирования но никак не конкретный язык код, в C вон тоже нет virtual и что дальше, надеюсь приводить примеры ООП кода на сях не нужно??

user_undefined
()
Ответ на: комментарий от anonymous

> главным образом потому, что работа с памятью становится похожей на игру в русскую рулетку > многочисленные эксплойты, эксплуатирующие переполнение буфера -- тому наглядное подтверждение

Не умеешь - не берись. Все эти эксплоиты переполнения от того, что программист, писавший код где-то промахнулся. А на самом деле указатели - очень мощный и гибкий инструмент. А подход типа java ("pointers are not safe"), имхо, бред. В любом языке можно сделать while(1){} и греть проц до беспамятства. И что? Давайте теперь ещё скажем, что "loops are not safe". ИМХО не умеешь использовать какой-либо инструмент - не берись. По крайней мере в production режиме. Эдак можно скатиться к тому, что будет язык из 3-х функций: start(); run(); stop(); Но, блин, зато мегабезопасный О_о

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

> Не умеешь - не берись. Все эти эксплоиты переполнения от того, что программист, писавший код где-то промахнулся.

поведай мне, о безгрешный, ты никогда-никогда не ловил коре дамп в своей уже вполне рабочей программе?

> А на самом деле указатели - очень мощный и гибкий инструмент.

вот в силу их мощности их и надо избегать, тем более что 99.999% задач решается очень даже прекрасно и без них

весь твой остальной постинг -- игра в человек-оркестр: сам спросил, сам ответил

anonymous
()
Ответ на: комментарий от Pi

господи, ну какой же ты глупый. как тебя вообще ложкой мимо рта не попадать научили-то?

anonymous
()
Ответ на: комментарий от Anoxemian

тогда мне совершенно непонятна твоя фраза "Не умеешь - не берись." когда такое пишут обычно подразумевается что пишуший -- умеет. типа

anonymous
()
Ответ на: комментарий от anonymous

О_о. Ошибки обычно отлаживаются. А опыт накапливается. А если человек действительно не может осилить указатели, то это не говорит о том что они небезопасны. Кроме как с указателями можно ещё много с чем ошибок поналяпать. Соответственно кричать что что-то "какашечка" просто так не совсем корректно.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Указатели должны сдохнуть. Ты ещё на ассемблере покодируй. Аккумуляторы и регистры рулят - очень гибкие, и вообще надо уметь чтобы взяться за них.

anonymousI
()
Ответ на: комментарий от Anoxemian

> А опыт накапливается. А если человек действительно не может осилить указатели, то это не говорит о том что они небезопасны.

вот скажи мне американец, Тео де Раадт -- опытный человек? и достаточно умный что "осилить указатели"?

anonymous
()
Ответ на: комментарий от kto_tama

>множественного наследия - тю-тю

Как и в массе других современных языков. Хотя я лично за множественное наследование, но вполне понимаю и аргументы против него. Оно порождает неоднозначности.

>вместо virtual придумали override

Какая разница, как назвать?

>если взять базовые типы - их зачем-то унаследовали от еще более базового типа обжект

Боксинг. А как ты без него собираешься передавать объекты? Указателя типа void* в высокоуровневых языках нет :)

KRoN73 ★★★★★
()
Ответ на: комментарий от Lockywolf

>Тогда это просто говно.

Ышо один юноша бледный со взором горящим :D

KRoN73 ★★★★★
()
Ответ на: комментарий от Anoxemian

>В любом языке можно сделать while(1){} и греть проц до беспамятства. И что? Давайте теперь ещё скажем, что "loops are not safe".

Именно так. Отчасти поэтому во всех нормальных языках сейчас есть foreach :)

KRoN73 ★★★★★
()
Ответ на: комментарий от Anoxemian

>О_о. Ошибки обычно отлаживаются. А опыт накапливается. А если человек действительно не может осилить указатели, то это не говорит о том что они небезопасны.

И, в результате, человек, набравшись опыта, переходит на языки, где вся эта хрень не забивает его мозг и позволяет программировать не задумываясь о куче тормозящих процесс работы вещей.

Все мы начинали в школьные годы с ассемблера, проходили в студенческие через Си/Си++, по мере набора квалификации перебирались на всякие Perl/Python/PHP/Ruby/Java а под философское настроение думаем уо ФП :)

...

ЗЫ. Опыт плотной работы с Си/Си++ у меня - лет семь. Указателями работал просто виртуозно. Но как они коряво и костыльно смотрятся с высоты той же Java, например :)

Да, бывают совершенные виртуозы по проведению бухгалтерских расчётов на счётах или арифмометрах. Но, мне кажется, лично ты в такой ситуации предпочтёшь компьютер или хотя бы калькулятор :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

Работу с указателями при желании можно сделать насколько угодно безопасной. Пример - их реализация в Аде. Но в языках высокого уровня, действительно, лучше бех них.

AiLr ★★
()
Ответ на: комментарий от KRoN73

странно... а меня от жабы чем дальше, тем больше воротит...

а ещё еслть люди, которые, набравшись опыта, становятся Мастерами своего дела и не перебегают к ПХП... Жабе (перл, кстати, тут не лепится - там есть указатели ;)) Кстати о ФП: в том же окамле, есть... ну да ладно

Pi ★★★★★
()
Ответ на: комментарий от Anoxemian

>> указатели -- говно

> Почему? О_о

Патамушта дети, воспитанные на выжил васике, их боятся.

anonymous
()
Ответ на: комментарий от anonymous

> главным образом потому, что работа с памятью становится похожей на игру в русскую рулетку

Чё, конкурс на самую невероятную глупость уже начался? Что-то я пропустил.

Ну-ка, подробнее.

> многочисленные эксплойты, эксплуатирующие переполнение буфера -- тому наглядное подтверждение

Эксплойты - следствие невнимательности программеров. А то многочисленные порезы и травмы - доказательство недопустимости применения кухонных ножей.

anonymous
()
Ответ на: комментарий от anonymous

> поведай мне, о безгрешный, ты никогда-никогда не ловил коре дамп в своей уже вполне рабочей программе?

Нет. В рабочей - нет. На этапе активной разработки бывали сегфолты из-за глупостей. Но их частота уже после первого месяца программирования на C упала где-то на порядок. Нормальные люди быстро учатся не делать ошибки. А быдло орёт, что по улице ходить опасно, потому что голубь сверху насрать может.

> вот в силу их мощности их и надо избегать

КОМУ надо? Мне - не надо. Если можно сделать без указателей, и это красиво, быстро и удобно - я делаю без них. Если нельзя - я без раздумий их использую.

> тем более что 99.999% задач решается очень даже прекрасно и без них

Быдлокодинг - может, быть 90% прекрасно, остальные 10 - ублюдочно. На нетривиальных задачах - менее 50%.

anonymous
()
Ответ на: комментарий от anonymousI

> Указатели должны сдохнуть

Кому должны? Тебе? А по-моему, это ты должен сдохнуть. Указатели тебе ничего не должны. Не умеешь ими пользоваться - не пользуйся и не перди тут. Ножи должны сдохнуть, потому что anonymousI может ими порезаться. Гы.

anonymous
()
Ответ на: комментарий от anonymous

> вот скажи мне американец, Тео де Раадт -- опытный человек? и достаточно умный что "осилить указатели"?

Тео - фанатег. Я таким не верю. Они сами себе через год уже не верят :)

anonymous
()
Ответ на: комментарий от KRoN73

> Именно так. Отчасти поэтому во всех нормальных языках сейчас есть foreach :)

foreach нужен для удобства, а не потому, что дебил может написать глупость. foreach гораздо менее универсален, чем тот же for или while, и ни в коем случае их не заменяет. Он просто удобен, и всё.

anonymous
()
Ответ на: комментарий от KRoN73

> И, в результате, человек, набравшись опыта, переходит на языки, где вся эта хрень не забивает его мозг и позволяет программировать не задумываясь о куче тормозящих процесс работы вещей.

Слышь, KRoN73, все давно знают, что твой любимый езыг - php. Не надо его тут лишний раз пеарить. Все задачи в мире не ограничиваются одним php-быдлокодингом. Я рад, что тебе foreach хватает. А мне - нет. Можно я буду программить на C? Или у тебя надо письменное разрешение испрашивать, о гуру?

anonymous
()
Ответ на: комментарий от AiLr

> Работу с указателями при желании можно сделать насколько угодно безопасной. Пример - их реализация в Аде. Но в языках высокого уровня, действительно, лучше бех них.

Они сильно мешают быдлу, потому что быдло не умеет думать и страшно не любит искать ошибки. Поэтому в быдлоязычках типа php и java указателей действительно быть не должно. А вот для творческих и нетривиальных задач их лучше оставить. У творческой личности обязательно должен быть широкий выбор.

anonymous
()
Ответ на: комментарий от Pi

> а ещё еслть люди, которые, набравшись опыта, становятся Мастерами своего дела и не перебегают к ПХП... Жабе (перл, кстати, тут не лепится - там есть указатели ;)) Кстати о ФП: в том же окамле, есть... ну да ладно

Жаба и php - это именно быдлоязыки. Кстати, даже без отрицательного оттенка. Они заточены под обезьяну, чтобы она максимально быстро лепила для хозяина код, содержащий минимальное число ошибок. Это просто рабочий инструмент с многочисленными защитами от дурака и со всеми вытекающими.

anonymous
()
Ответ на: комментарий от anonymous

> Они сильно мешают быдлу, потому что быдло не умеет думать и страшно не любит искать ошибки. Поэтому в быдлоязычках типа php и java указателей действительно быть не должно. А вот для творческих и нетривиальных задач их лучше оставить. У творческой личности обязательно должен быть широкий выбор.

Быдло производители не пределали удобную рукоятку для забивания гвоздей к моему микроскопу. Меня как творческую личность лишили свободы выбора.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.