Персональные инструменты
Счётчики

Обсуждение:C Sharp

Материал из Lurkmore
Перейти к: навигация, поиск

Содержание

[править] Статья слащава

"в Си-диезе все переменные передаются по значению" - нереальная ХУИТА Oroch 23:29, 25 апреля 2009 (MSD)

Не вижу никакой хуиты. Вы пробовали кодить на С#? Символ * как обозначение адреса переменной там не используется. Вообще C# не даёт пользователю работать с памятью напрямую ни читать ни писать. Это сделано опять таки для повышения безопасности и уменьшения глюков. Но на деле по адресу передаются чуть ли не все переменные и абсолютно все классы.
Вы пробовали писать на С#? Слышали про unsafe? Работа с адресами там вполне возможна. Это один. И два - в С# как раз большая часть данных передается по адресам.
А я что, говорю что адреса там совсем не используются? Они используются, только всё это делается скрыто от погромиста.
"Символ * как обозначение адреса переменной там не используется". Ваше же. Так вот, в решетке есть указатели аж в виде звездочек - достаточно использовать директиву unsafe, пометить блок кода как ансейф и юзать.
Нужно ещё в настройках IDE поставить галку "Разрешить небезопасный код".
Я пишу на С#. Там есть ref-параметры, я гарантирую это. А ты - быдло.
Насчёт работы с памятью - гуглите класс Marshal.

Автор, учись называть статьи, я только когда перешел по ссылке, понял, о чем она. Рак 23:31, 25 апреля 2009 (MSD)

Увы, нормальное названние "C#" уже занято. Вот и приходится использовать недоназвания.

Статью писал редкостный идиот-быдлокодер-кнопкорисовальщик, видимо просто увидел C++ и зачесалось. Что в очередной раз доказывает: дотнетчик - хуже пидараса.

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

Тема слабо-годная, статья так себе. Раскрыть: - "как Java, только родное, мелкомягкое" - холивары Джавы и Шарпа - холивары за дотнет - холивары за "тупой, бессмысленный язык высокого уровня для быдлокодеров-кнопкорисовальщиков" Альфа-900i 23:46, 25 апреля 2009 (MSD)

Поддерживаю. Может и вы что-то добавите от себя?

Тема годная и немаловажная, но запилине ужасающе. Будет желание - долобзирую лулзами из жизни сабжа. - Анонимус 08:43, 26 апреля 2009 (MSD)

Согласен, лулзов не хватает. Да и статья писалась буквально за 10 минут в ответ на статью о С++. Требует доработки.
следующая ступень развития C-языков после С++

Уже отсюда ясно, что статья - бред.

Ну вот, статья почти сносна. Осталось только переписать историю, дабы удалить последние ошмётки первоначальной унылости.

[править] J

Вы все сосете уток. Потому что вы забыли про такие клоны жабы как M$ Java, MS J++, MS J#.

  • Это надо в историю. Статья то всё равно про C#. Или ты имеешь ввиду, что нужно создать статьи про эти фейлы?
    • Это можно запилить в Жаба. + уёбищное, как и MFC, WFC и срач - Sun: "У вас жаба не настоящая", М$: "ОК."(выпиливая JVM из виндовс), Sun: "Ээээ..."

[править] Про панельки

Не знаю, писать - нет. На сцышарпе панели инструментов (которые копи-пасте-кат-сейв) нужно рисовать вручную (!), что ппц. По крайней мере, год назад это было так. Это техническая особенность, но доставляет своим фактом.

Ебаный долбаёб. Такой ебаный долбаеб, что я даже непонимаю, как ты таким можешь быть.

Ой-вей. Иди нахуй! Ви так говорите как будто я обижусь.
А в 2005 студии вменяемых средств рисования не было (а к плюсам/МФЦ были). А панельки были нужны. Очень бесило. Такие дела.
Быдлокодер мышкой детектед. Привет.

[править] НЕНАВИСТЬ

Реквестирую больше ненависти!!!! и ещё больше!

  • Плюсую, дрочую, или как там? Где моя любимая плашка НАТЕ??

Хуйните тунца! Лав ит! Суксь красноглазые!

НЕНАВИСТЬ НЕНАВИСТЬ НЕНАВИСТЬ!!!111одинодинодин

Какая блядь выпилила картинку "Си шарп для школьников" ?

Тоже реквестирую ненависти. .NET же не нужен. Линуксоид, да.

статья гуано, перепиливать некому

[править] Мышепрограммирование-срач goes here

На самом деле ничего плохого в программировании мышкой В ПРИНЦИПЕ нет. Очень часто важно быстро создать приложение, которое будет выполнять поставленную задачу хорошо и правильно. "Мышкой" сделать многие шаблонные действия намного быстрее.При кривых руках работать мышкой гораздо быстрее. Другое дело, что всё равно в итоге надо вручную всё дописывать и именно в этом месте быдлокодеры собственно и создают произведения исскуства. Естественно школоте, которая реально программировала только в своём воображении, это неизвестно.

И естественно, быдлокодерам-мышекликерам, никогда не писавшим что-либо полезнее свистопердульных пользовательских утилит (навроде программы для снятия скриншотов рабочего стола в виндозе), невдомёк, что можно довольно успешно программировать только клавиатурой (исключение - рисование гуёв).
И естественно школьникам, программирующим в своём воображении вирус, который покорит всю планету невдомёк об UML и других способов графического прототипирования.
Для создания ПРИЛОЖЕНИЙ? Ты тесномозглый лузер, мышекликер-кун! Фикси свой ДНК.
NO YOU! Про классовые диаграммы ты ничего никогда не слышал?
Ежупонятнослышал, тупень ты упёртый. Я писал о том, что при написании "быстросоздаваемых приложений" они могут понадобится только если твой мозг не превосходит по объёму айфон. Хотя понятно, почему ты до этого не допёр.
Я говорил не про "быстросоздаваемые приложения", а про быструю разработку, о зрячий! 90% программирования сегодня - это автоматизация бизнеса. Ктото ебётся с SAP, а кому-то легче нанять команду для создания IS. В этом случае очень много просто но занудной хуйни надо делать. UML и программирование мышкой очень спасает от долгого набивания тупого и однотипного кода и от кучи последущих исправлений от заказчкика, так как software requirments с этим самым UML согласовывается с заказчиком заранее.
Не путай ёблю с программированием, мышекликер-кун. Хотя, йооопта, миня осенило: сишарп для ёбли же и создан!
Всем программистам приходится иногда ебатся, я лучше покликаю мышкой, чем буду писать вручную тонны однотипных классов. Я кстати форсю indention of code, так что мне сложно быть мышекликером, дорогой)

Скачал, посмотрел, покликал, понравилось. Сделано только для избавления от рутины. Решил изучить способы склеивания с C++, интересно. Если взглянуть без предубеждения, то хорошо, кто понимает всю бесконечную уёбищность и эволюционную тупиковость GNU toolchain... и всех других make`ов. Смотришь на зелененький start page и хорошо так. О алгоритмах думаешь. Клацаешь по клавишам, компилируешь. Думаешь, бля как 3.14здато, и на турник выйти успею, и зубы не забуду почистить, столько чая выцедил.. И прогресс наблюдается. Создание GUI используя drag&drop с автоматической генерацией кода - самый логичный способ. Одни программируют используя только клавиатуру, другие подключают ещё и мозг.

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

Безусловно, хотя программисты предпочитают VS... А вообще, мой подход к программированию мышкой: выучи программирование клавиатурой, а потом расслабляйся. Принципы здесь неуместны: программирование мышкой избавляет от кучи рутины. Только необходимость обрабатывать сгенерированный быдлокод напильником никто не отменял.


И естественно, быдлокодерам-мышекликерам, никогда не писавшим что-либо полезнее свистопердульных пользовательских утилит (навроде программы для снятия скриншотов рабочего стола в виндозе), невдомёк, что можно довольно успешно программировать только клавиатурой (исключение - рисование гуёв).

Исключений нет. Гуй програмируется тоже только клавиатурой на ура - гораздо точнее красивее чем мышкой!!!
проект нужно сдать в срок! а надрачивание хуя в ручную убивает в пустую до хуя времени, что нихуя не годится, если конечно твой начальник не мудак который считает "чем бы программер ни занимался, лишь бы заебался", а эффективность работы меряет количеством написанных вручную строк (включая ручное надрачивание хуя - что есть способ написать до хуя строк при том же результате)
Гуй ручками пишется в разы быстрее, чем пиксельхантинг мышкой. Естественно, если вы действовали грамотно и спроектировали свой проект заранее. Копипаст и мозги - решают любую задачу в предельно сжатые сроки.
если у тебя лапы кривые а глаза косят, то ты конечно тратишь полчаса на "пиксельхантинг", вместо пары минут lol

Вычеблянах, пизданулись? "Программирование мышкой" - миф, такого не бывает (не, ну есть всякие штуки типа "Визуального программирования" или там Workflow Foundation, но ведь здесь далеко не это имеется в виду, правда?). Если тебе нужно поместить на форму сранный текстбокс, настроить его внешний вид, лэйаут и т.п. то это не программирование, это ДИЗАЙН. Программирование это если, например, нужно написать обработчик события. То что в WinForms ГУИ описывается кодом это недостаток WF, но не программиста, которому посчастливилось его юзать. Вот в WPF все по другому - там разметка, которую писать даже легче, чем возюкаться с мышкой (ненавижу мышку, хотя дотнетчик, бу-га-га). В итоге один и тот же прогер может в WF юзать мышку, а в WPF расово-верно писать разметку. И что, он "мышекодер"? "Программирование мышкой" придумали страдальцы от MFC и прочих свингов, у которых нет нормальных инструментов для ДИЗАЙНА. Долбоёбы такого же вида думают что HTML/XML - языки программирования.

[править] Как дело было или история возникновения

Какой дебил писал это? На кой там написана история жабы с её стиральными машинками. В кратце так: была жаба, из неё + delfi + cpp запилили дотнет, я ничего не пропустил?

каким боком дельфи к шарпу относиться? Близко ничего похожего нет.

Свойства, события. Это навскидку. У них один автор, лол, влияние очевидно.
Целевой аудиторией же.
Сказал быдло-кун не знающий ни одного из этих двух, и считающий "{}" vs "begin end" пиздец кардинальным различием языков.

[править] История

Все было совсем не так.

Сначала была модула, но ее никто не заметил. Потом был смоллток. Он был крутой — это был объектный язык, а не объекто-ориентированный, но он опередил свое время. Потом был труп страуса и плюсы. Почему-то все решили, что тупая объекто-оринтированность, как в плюсах — есть труъ. С сишным же синтаксисов в виде фигурных скобочек. Ну а совсем отдельно был Николас Вирт со своим пасквилем. Из пасквиля выросла модула, с которой все и началось, но которую никто не заметил. Оттуда же вырос и оберон. На все эти язычки было всем похуй. Однако в каком-то из них была компиляция в промежуточный код (p-code, теперь это называется байт-код). Это увидели сантехники. А поскольку плюсы страдали тяжким наследием чистых сей — они решили сделать свой язык с блекджеком и шлюхами. В этот кадавр по имени Java попала кастрированная объекто-ориентированность as in C++ — поэтому предшественником жабы считается модула. В жабу же попала идея промежуточного кода из паскаля-модулы-оберона — поэтому промежуточный код считается нововведением жабы. Синтаксис был конечно же в виде фигурных скобочек.

Весь предыдущий текст должен по идее быть в статье про жабу. Казалось бы, причем здесь сишарп? А притом. Когда жаба ВНЕЗАПНО оказалось успешна — проснулся Билли Гейтс. Сначала мелкомягкие сделали свой клон жабы — который конечно же был нисчем не совместим кроме самого себя. Это была Microsoft Java. Но сантехники быстро сделали из жабы стандарт и заставили мелкомягких его соблюдать. Потом был Microsoft J++. Это типа жаба же, но названа типа иначе и встроена в старую линейку Visual Studio с ее флагманом С++. На жыплюсплюс было всем похуй. Жаба все еще была популярна. Поэтому был создан .NET — который как виртуальная машина жабы, но от мелкософта. Под него портировали бейсик для быдлокодеров, очередной Microsoft J, который назвали J#, и на который было по-прежнему всем похуй. Туда же запилили изуродованный до неузнаваемости C++, чтобы гики не очень расстаивались. А флагманом, вместо изуродованных плюсов стал новый супер-пупер язык C#. В него попала кастрированая объектно-ориентированность из плюсов, он компилирует в промежуточный код доднеда, а синтаксис там конечно же в виде фигурных скобочек. Найдите 10 отличий от жабы.

Потом J# выкинули на мороз, признав, что он всем похуй, а в C# добавили еще свистелок и перделок. Но это уже другая история.

Отлично, подредактируй это, часть вынеси в жабу (там нет её истории), часть в c#. Лучше расписать ченжлог версий c#, чем стиральные машинки жабы.
Ченджлог там тупой и не лулзовый. В версии 1.0 не было ничего, в версии 2.0 наконец запилили generics — то есть ADT, если по-нормальному. В 3.5 запилили linq — это такой DSL для запросов к данкам банных и прочим коллекциям. Идея хорошая, синтаксис — ебанут напрочь. В 4.0 наконец-то сделали параметры по умолчанию!
Причём тут лулзы, а может надо, просто иметь руки не из жопы и писать статью нормально, что бы доставляла? А свои "измышления" по поводу linq... лучше оставь при себе, специальные олимпиады тут не проводятся.

Всё верно, только не упомянут срач между мелкомягкими и саном из-за JVM. В 1999-2001 у мелкомягких была своя JVM и вообще они типа помешались на этом блядстве. Виртуальная машина от мелкомягких была совместима с сановской явой, но вот сановская ява не очень работала с мелкомягкой. Сайты использующие явовские апплеты очень по-разному выглядели в зависимости какая джава стояла (а в большинстве своем стояла мелкомягкая джава, так как она уже была включена в винду) Сану такое положение дел не понравилосьи они пригрозили на мелких подать в суд. Мелкие психанули и полностью выпилили JVM из ХР, что привело в ступор всяких гламурных кис и прочее быдло, так как всякие чЯтики работающие на джава апплетах (и вообще путать яву с яваскриптом не рекомендуется - это совершенно разные вещи) перестали не то, что работать, а вообще отображаться. Быстрый бег на sun.com и установка JVM ситуацию не спасали, сайты упорно отказывались работать требуя мелкомягкой JVM. Так же некорорые приложения просто вылетали когда стояла сановская ява. Я лично "пофиксил" не одну тачку с ХР в 2002 году ставя мелкомягкую яву скачанную годом раннее. Потом Мелкотня заявила нам нахуй не нужны всякие JVM! У нас будет круче! и высрали говно в форме .net . Хотя дотнетом сначала называлось все подряд: винда Windows.net (Потом она была перееименована в windows 2003) MSN messenger.net...

Ну так что? Кто нибудь совершит подвиг и перепишет историю?

MS JVM была совместима с Sun JVM примерно также, как Эксплорер 4-й версии был совместим с Нетскейпом 4-й версии. А поскольку никто никогда не проверял (и не проверяет до сих пор!) врерсию явы в своих программах, то имело место быть множество разнообразных эпических фейлов с обеих сторон. Более того, помимо собственно бинанрной "совместимости", имелась превосходная "совместимость" на уровне исходного кода. Сан возмутилась, поскольку уроды из M$ обгадили им весь невообразимо распиаренный принцип "пиши один раз, запускай где угодно", и потребовали "привести в соответствие". Ессно, M$ этого сделать не могла, т.к. имелесь туева хуча программного обеспечения, написанного быдлокодерами по инструкциям от M$ с использованием последних "достижений" типа делегейтов (и чего так M$ любит делегейты, а?) и соответственно чуть меннее чем полностью зависимых от JVM фирмы M$. А поскольку в ту пору Сан была одной из немногих контор, не попавших в анальное рабсто к M$, то намеков типа "а может вы сами приведеие в соответствие" Сан не поняла, и дело закончилось жутким срачем, взаимными угрозами и последующим выпилом M$ JVM из XP. Правда процесс выпила произошел намного позднее, когда Сан пригрозила подать в суд, а мелкомягкие уже выпустили .Net.

>последних "достижений" типа делегейтов. Убейся ёба.
Сам убейся, делегаты - от лукавого.
А чем ты без них обходился бы до появления всяких лямбд, если надо люто, например, передать куда-то функцию? Прилеплял бы "Класс, который по смыслу заменяет..."?

[править] Поболтать по теме захотелось.

Сан известна своим рьяным соблюдением backward-compatibility. Мелкософт известен прямо противоположным. Думаю, это неизбежно скажется на будущем дротнета. На нём удобнее писать свистопердульки, юзерофильные аппы, чем в нативном коде, но серьёзный бизнес его никогда не примет. ?

     - Серьезный бизнес и свистопердульки - понятия еще как совместимые. ИМХО, бизнес-логику стоит писать в нативном коде (если не охота, чтобы твой быдлокод прочитали), а оболочку - в управляемом, WPF в помощь.

[править] Дизассемблирование ООП языков

Дизассемблирование ООП программ приводит к обнаружению сплошных косвенных вызовов. Читабельность такого кода стремится к 0 ибо косвенный вызов в дизассемблере никуда не ведёт.

Дизассемблирование оставим для извращенцев. Есть отличные декомпиляторы.
Получается, что ООП - отличная защита от всяких крякеров. Можно добавить в плюсы.
Сгиньте, нубье! Шарп разбирается почти полностью, чуть ли не с именами переменных!
Не чуть ли, а с именами переменных. Видимо, у Вас просто несвежая версия Рефлектора.

[править] Дотнет вообще и си-шарп в частности должны умереть

Это ужас, ничем не сдерживаемый, предательский, красно-коричневый, триколорный, монохромный УЖАС. Просто полный пиздец. Невероятный. Какая-то непосредственно в мозг внедряемая прослойка между грамотным кодом и итоговым продуктом. Блять, я поверить не могу. Просто на корню выжигается ПРАВИЛЬНОЕ отношение к тому, что мы создаем. Вот вы все можете представить, как НА ЭТОМ ГОВНЕ сотворить полностью удовлетворяющий заказчика проект? Или вообще - вменяемую линейку продуктов? Блять, да еще и в сжатые сроки, да еще и масштабируемых... Со всей оговоренной поддержкой, разумеется - еще и при текучке кадров...

Ёлки - и чтоб за это платили деньги?!

Я могу представить. Легко. Богатый и разнообразный стаж.

P.S. Я еще и на Дельфах писал, ага. Тоже дерьмище полное, хорошо хоть, без дополнительных говнопрослоек. Жаль, что все штуки до сих пор работают без претензий от заказчиков. Да они идиоты, заказчики-то, ни хрена не шарят.

P.P.S. Ах да, Венда ма$дай, Линух рулез. Или наоборот? Сорри, подзабыл, работа.

http://imgg.dt00.net/820/820158_vb.jpg

Добровольно-принужденный до-диезник-дотнетчег добавляет что дотнет не нужен и все работает лучше и надежнее через родной виндовый API.

И что бы не говорили, а C# всё равно является более современным, удобным и более совершенным ЯП в сравнении с тем же C++, который за столько лет по сути стал уже набором костылей. Насчёт прослойки между грамотным кодом и итоговым продуктом - не соглашусь. Даже если и производится преобразование в MSIL, логика программы не меняется (2х2 оно и до, и после преобразования в MSIL будет =4; ну, а если нужны вам указатели, неуправляемая память - всё это в шарпе тоже есть). А так, можно таким же образом, например, начать ругать все компиляторы: это какие-то прослойки между исходным и машинным кодом... И что теперь, давайте на ассемблере вообще всё писать, а лучше сразу на перфокартах...

[править] Баг с генериками

После переписывания на C++/CLI (cl.exe /clr:pure) заработало:

using namespace System;
 
ref class Base1{};
 
ref class Impl1 : Base1{};
 
generic<class T>
ref class Intermediate {};
 
generic<class T1,class T2>
where T1 : T2
where T2 : Base1
ref class Base2 : Intermediate<T1> {};
 
int x;
 
void Do()
{
	Base2<Impl1^, Impl1^> ^t1 = gcnew Base2 <Impl1^,Impl1^>();
}
 
int main()
{
	try
	{
		 Do();
	}
	catch(Exception ^error)
	{
		Console::WriteLine(error);
	}
}

призываю К.О.

А вот нихуя!

Данный баг доступен на .NET до 4-ой версии. В 4-ой версии он уже не воспроизводится.

[править] Какого члена

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

[править] Фантомас разбушевался!

Фантомас серьёзно болен.

Повелеваю вам, о моя интернет-армия, взять картинку вот из этой статьи, только:

  • Вместо «cobol» написать «C#»
  • Вместо «unspec» написать «MVC»
  • Вместо «abnormal» написать «Unsafe»

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

Мистер Баллмер, залогиньтесь уже.

Петросянщина не есть лулзы. Как-то так.

[править] Linux

Про "Linux не нужен на сервере" -- зачёт. Ещё бы пару высеров такой же толщины, и 95% линуксойдов рунета отложат столько кирпичей, что рунета за ними видно не будет. Жги ещё!

Осталось лишь объяснить этим 95%, что WISA-стэк с Express-лицензиями обходится оверселлерам гораздо выгоднее, чем линупсовые нищеVPSки на OpenVZ. Для смака показать статистику, по которой даже самые последние нищеброды повально переносят свои убогие хоумпаги на виндохостинг. %)
А может наоборот, виндохостинг используют в основном нищеброды для хоумпаг? Иначе как вы объясните, что microsoft пилит поддержку Linux в качестве гостя на своём Hyper-V?
Кстати, вообще, что такое эта WISA? Нагуглил только производителя унитазов. На педивикии статью удалили.

[править] Это кто F# назвал альтернативным синтаксисом C#?

Бред собачий. Тогда скала и кложура тоже альтернативные синтаксисы джавы. Язык совершенно иной. "Шизофрения" присутствует для интероперабельности с .NET

Из статьи: F# — это ни разу ни очередной C#-подобный язык, а ещё один oCaml, но не упомянуть о нём нельзя.

Насчёт альтернативных синтаксисов — как-то раз у нас в продакшне приняли VB.NET вместо решётки — и не столько потому, что тимой в то время заправлял 1С-ник со стажем, а потому, что в васиковом Linq'е присутствуют операторы Skip и Take (именно ключевые слова, в шарпе же пришлось бы писать мозговзрывающий поток из лямбда-выражений, что аудит ох как не одобряет).

Да, и ещё в ходу тот факт, что свойства анонимных типов могут быть изменяемыми, опять же в отличие от этого вашего C#. Идеологически это быдлокод, конечно, зато удобно и читается просто замечательно. Аудиторы радосте.
Спец-синтаксис ЛИНКа - зло и должен быть уничтожен во имя добра. И вообще, что не так со Скип и Тейк?
var result = array.Take(3)
var result = array.Skip(3)
Если в одном выражении нужно использовать и скип с тейком, и груп-бай, например, то в этом самом .GroupBy() в решёточке не получится обойтись без трёхэтажных лямбда-матов, пугающих одним своим видом целый отдел по code review. Это стало для нас какбе важнейшей причиной выбора именно VB.NET.
Тогда стоит разбить выражение на несколько.
Увы, далеко не всегда это работает. Есть хитрожопые реализации IQueryProvider, например[1][2], где можно получить совсем неожЫданное поведение при выполнении этих ваших вложенных LINQ-запросов.
А, так речь об ЛинкТуСкл? Я думал вы про ЛинкТуОбжект. Ну если нужна нормальная ОРМ - то проще взять Энтити или НХибернейт (для эстетов и батчей).
Да, но иногда бывает задача абстрагироваться от источника данных и поддерживать в одном коде при помощи единого API всё, что приводится к IQueryable(Of T). К примеру, при вынесении контекстов пресловутого ЛинкТуСкл и иже с ним в модули-«драйверы источников», с возможностью дальнейшего расширения функциональности через дополнительные «драйверы».
Кстати, как там сейчас дела с возможностью связать НХ и Оракл сервер без траходрома с установкой фирменной клиентской части?
Слоупок-кун интересуется, что же все-таки не так со skip и take? var result = array.skip(5).take(10) какие нахрен лямбда маты???
А попробуйте-ка их встроить в какое-нибудь from-in-group-by-where-group-by-where-order-by-group-by-where-select-выражение в семь-восемь строчек, чтобы допустим скипы были перед каждым group by, а тейк после последнего group by но перед where, - и при этом сохранив читабельность для ребят из CR, которые не могут в лямбда-форму из-за SQL головного мозга. IN B4 разбить на несколько - лучше не надо, дабы селектов вызывалось по минимуму.
Печальную повесть глаголете. Лично я вообще крайне редко использую литеральный линк, ибо уныло и громоздко. На лямбдах все пишется короче и правильнее, да и не знаю уж, чего там в них такого сверхсложного и нечитаемого.

запилите отдельную статью F Sharp (Портал:Ниасилили/F Sharp)

А что в нём меметичного? Драмы, лулзы, срачи?
ну тогда запилите общую статью про функциональные языки (Портал:Ниасилили/Функциональные языки) что хоть что-то понимать постоянных в срачах вокруг этих языков. ведь каким-то хуем Micro$oft сочла фунцкиональный язык нужны, раз уж включила его в НЕТ, но включила не класический LISP, а какую-то непонятную НЁХ в которой хотелось бы чуток разобраться и понять почему и зачем
Я только оКамл и ФШарп знаю, сам не потяну. Если хотя бы 3 человека соберётся (и шоб был хаскелист с лиспером), тогда пожалуй можно сделать статью ООП vs ФП. Вот тут чувак что то пытается объяснить про F#, можешь посмотреть. http://dou.ua/forums/topic/8560/#382126
может стоит начать в ниаслили? а там народ по ходу потянестся ^_^
Ок я подумаю.
пора пилить http://habrahabr.ru/post/201874/
в этой статье какие-то ВП идут. То громогласно заявляют "функции - не объекты", то ругают Java, где функции именно не объекты (т.е. не являются хранимыми в памяти структурами данных, как в С#) и тонко намекают на С#, где функции - именно объекты (как минимум типа Func<...>). Да и вообще "война" между ООП и ФП - больше надуманна. Это просто разные уровни проектирования приложения. Это всё равно что спорить: что лучше, седаны или дизельные двигатели? ООП "отвечает" за большие программы АСУ с тысячами и сотнями тысяч функций или с очень сложным объектом управления (большой завод, например). ФП "отвечает" за написание алгоритмов вычислений - он вообще не предназначен для написания именно программ автоматического управления. И оба подхода вполне можно совмещать. Тем более никто не мешает на той же Java писать в "функциональном стиле" (но никто и не рекомендует).

[править] Meanwhile

Кто-то тихонько убирает из статьи по словцу, чтобы подлечить свою дырочку. Нужно поймать пидора.

Нельзя ли поконкретнее?

[править] Turbo C#

Запилите!

Нах? Вообще первый раз слышу.

[править] SharpDevelop

Добавьте в статью - http://www.icsharpcode.net/OpenSource/SD/Download/. Бесплатный годный аналог Visual Studio.

[править] /* Unity */

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

  • Ага, особенно ахуенный Endless Space. Движок ахуенен.
    • да это даже не движок, целая, монолитная среда. Ендлесс спейс - единственный нормальный представитель из уже созданного. В свое время была такая хуйня, называлась си++ builder от борланд,, очень по смыслу напоминает.
      • Что не меняет того факта, что движок/среда - ахуенны и дико популяны в на ААА проектах.

Это к тому, почему крупные разработчики не пользуются.

  • Суть Unity не раскрыта. Нужно больше НЕНАВИСТИ.

[править] C# vs C++

«

С++ - помойка есть, переходной этап от ПП к псевдо ОПП. И когда мусор вывозят - это хорошо

»
— Brax
распиши если есть можешь доказать!
Что, крестовичок, пригорело? Привыкай. ООП крестов - это нихуя не ООП, кури каноничную модель (типа смалтолкоской). Но даже то, что там есть - перечёркнуто всякими френдами и иже с ними. Это ваше множественное наследование - надругательство над отношением "является" как таковым. Интерфейсы, млять, спаяны с классами, ручное управление памятью, шизофренический буст, арифметика указателей, функции первого уровня, слабая типизация, уёбищное темплейтовое метапрограммироание ояебу. Это не язык, а пиздец, монстр переходного периода.
чё с иннерами в C#?
Можно (но не нужно) симулировать столь любимое тобой множественное наследование. На практике я за такое руки отобью.
почему не нужно? what's wrong? и что делать если мне действительно нужен гибрид?
Я те репетитором нанялся? Иди кури GOF, там всё наглядно расписанно. Если тебе нужен гибрид - мозги себе поменяй, если примесь - используй экстеншен.
то есть единственный аргумент который ты способен привести это "так ннада!" lol
Пиздец ты - дебил! Это сложный вопрос, подробный разбор которого займёт больше всей остальной статьи. Мало - мальских разумных джунов я посылаю читать ГОФ, но для быдлокодеров вроде тебя - мой аргумент действительно "Так Надо!", всё равно не поймёшь.
чё пердак пылает? lol если бы ты понимал концепцию то мог бы её объяснить её суть за один абзац но ты не можешь! потому что сам нихуя в ней не понимаешь! lol
Хочешь в один абзац - вали в Википедию, уёбище, а я профанации не уважаю.
lol слив засчитан! lol
лалка, ты слился уже в тот момент, когда пытался делать свои тупые правки.
А что ООП -- это круто? Это так в умных книжечках написано? Своё мнение есть?
ООП - это круто в ситуациях связанных с моделирование чего либо. Не серебряная пуля.

Вот та терада выше - это к С++, С# или к обоим? С# к ООП тоже имеет весьма отдалённое отношение, хотя и получше, чем С++ в этом вопросе.С# вообще скатывается в дикую смесь Perl, недо-Java и всякой функциональщины. Ввиду чего становится просто невозможно сделать простые вещи просто. Из-за отсутствия реальной альтернативы (VB - курам насмех, курсовики писать, да бухучёт) перспективы программирования печальны. Java одна всех не вывезет.

К С++. Но по поводу его выблядков никаких иллюзий испытывать не надо. Java - попытка расчистить эти авигеевы конюшни. Правда вместе с навозом выкинули половину лошадей, в результате чего самые примитивные вещи решаются исключитель индусским методом. Где перегрузка? Где функции первого класса? Где события? Где многомерные массивы? Где, жалкие вы джава-бляди, метапрограммирование?! Не говоря уже о концептуально неверной С++ - подобной модели ООП. C# - попытка довести Джаву до ума. Получилось прекрасно, вот только сколько жопу не рви, из бомжихи принцессу не сделаешь. А нормальные языки вроде Скалы и Немерле широкого распостранения не имеют, так что печально всё, да.
Давай не разводить джава срач. Замечу только что всё выше упомянутое было выкинуто из джавы намерянно, как быдло-инструменты для написания быдло-кода (точнее, не ООП-кода). Даже не упомянутые тобой "дженерики" (по факту их нет - просто средство упрощения синтаксиса). Сколько я поднимал проектов на шарпе - везде, проблемы и глюки множились и росли на пустом месте именно из-за делегатов, и событий. Да ещё прибавились лямбды - они в этом плане даже хуже, чем в Перле регулярные выражения. Как объяснить вновь нанятому студенту работу уже написанного кода - это можно отдельную книжку писать.
ггг, да на Джава фреймвёрках есть те же события, тольтко реализованны по индуски: в виде обсёрвера. Плавали, знаем. Про лямбды и делегаты пропущу: я своих джунов за пару дней приводил в чуйство и начинали они их использовать и понимать как миленькие. Чай не рокет саянс.

Заебала эта ваша илитка: C++ не тру, Smalltalk тру. Блять, ойбидабида, C++ методы выставляет, а в малоговорящем, дескать, все объекты сообщения принимали. Так что ж вам, блять, мешает - объявите все методы private, да один публичный message(object *args) и будет все как в вашем малопиздеже. Баттхерт по множественному наследованию я тоже не понимаю - не нравится, ну так не юзай, хрен ли? Пинками тебя к этому принуждают? На плюсах пишут тонны говнокода - так и на этих ваших "прогрессивных" языках, начиная от Python и кончая Scala его написано никак не меньше (пропорционально). Проблема всегда не в языке, а в том, кто на нем пишет. Если руки из нужного места растут - можно и на C++ писать вполне красивый, лаконичный и поддерживаемый код. Можно (с новым стандартом) и в функциональном стиле, с лямбдами-замыканиями-рекурсиями писать, даже метапрограммирование через шаблоны изобразить можно, не слишком-то запарившись. Еще раз: говнокод - он не в языке, а в голове, и C++ позволяет писать код не хуже чем на этих ваших лиспах. Да - слабая типизация, да - указатели, прямое управление памятью (для некоторых это все еще зашквар - use C++.NET, Luke!) - но сделайте скидку на потребление ресурсов и все встанет на свои места. У языка есть своя ниша, оправданная вполне. А уж баттхерт в сторону решеток в принципе не понятен - все, что просили хомяки от всех стилей, Microsoft сделала - на тебе и generic, на тебе и лямбды, держи, дорогой Linq, держи P-code - все для тебя дорогой - так нет же, все равно упоротые будут хаять и материть просто потому что "Microsoft - значит зашквар".

Коллега, давай я тебе объясню. Хороший ЯП помогает писать хороший код и мешает писать плохой. Кресты делают первое и совершенно игнорируют второе, потому что никогда, никогда, сцуко, ты не сможешь так наговнокодить на Шарпе, как на Крестах (даже если ансейф заюзаешь). А так то - да, можно и на чистом Си классическое ООП эмулировать (читай Макконела). Ты пойми, в большом проекте на одного тебя такого правильного найдётся 5 неправильных. И я ебал разбираться что там они навыдумывали со своими ёбанными в рот указателями. Доступно?
В таком ключе, согласен. Видимо мне, до сих пор, каким-то образом удавалось обходить места скопления совсем уж жутких быдлокодеров - с плюсами работал, в основном, по научной теме: моделирование физпроцессов и прочие числодробительные расчеты, где внизу голый C + CUDA, а сверху оболочка, обычно, на QT, потому как под линукс более сносной альтернативы нет. Однажды даже довелось писать клиент-сервера на C++ где сбоку был припаян все тот же kernel на CUDA. А вот работая на шарпе, я такого говнокода насмотрелся, что до сих пор по ночам в холодном поту просыпаюсь, хотя сам по себе шарп как язык мне любивен и прельстив. Поэтому, я твердо утвердился во мнении, что не язык виноват в говнокоде, а руки которые его держат. ЗЫ: Самая большая проблема в том, что до этого ебаного кризиса я был волен послать работодателя с такими проектами в известном направлении, а нынче за МКАДом моя зп в 60к считается охуительно божественной и нигде мне больше такого не дадут. Как же заебало жрать этот кактус...

Сравнение языков не корректное. Обсуждать нечего

[править] Исторически так сложилось

Кстати, такое явление есть уже давно. Не то чтобы сам дуднет так уж объективно плох, но движуха максимум зашкварная. Исторически так сложилось, что в дотнет попадают самые безыдейные дауны, которых чисто течением занесло и которые после минимальных психологических манипуляций будут делать всё, что от них захочешь — вплоть до того, чтобы взять кредит и купить квартиру/машину, коллективно начать увлекаться видом спорта, который зафорсит менеджент, коллективно ездить на отпуск в поход туда, куда скажет менеджмент, коллективно переехать жить в другую страну и тд. Короче, быдло в самом классическом смысле этого слова. Люди хоть с малейшим кругозором и претензией на самостоятельные решения этого мирка избегают.

Описание подходит к любой более-менее популярной технологии. К тому же Хаскелю тоже подходит, коий давно уже изучают не для себя, а чтоб показывать всем в онлайне, что ты это сделал. Чтоб всё как у людей, хуе-мое, не то, что у этих.
В гаскiле там монады. А их нужно распаковывать, перепаковывать, мапать, лифтить. Если это надо сделать пару раз, это фигня мелочь, но если у тебя по всей программе примерно в каждой строке по такой мелочи — все вместе они суммируются в большой БПЦ. Представь, что ты бегаешь вокруг стадиона. А теперь представь, что там местами раскидан какой-то мусор, шкурки из-под бананов, бутылки, и тебе периодически приходится прикладывать чуточку больше усилий чтобы их переступать. Это уже здорово сбивает, твоё внимание переключается на эти мелочи, непрерывная размеренная пульсация превращается в ломаный ритм. А теперь представь что там всё нахуй блять завалено всяким говном и мусором и тебе приходится целиться куда поставить ногу буквально на каждом шагу. Вот это и есть гаскiль с его злоебучими монадами.
Толстота. Но Порядка ради таки поинтересуюсь, а каких решений не избегают нормальные в твоём понимании люди?

Кстати, такое явление есть уже давно. Не то чтобы сам свифт так уж объективно плох, но движуха максимум зашкварная. Исторически так сложилось, что в свифт попадают самые безыдейные дауны, которых чисто течением занесло и которые после минимальных психологических манипуляций будут делать всё, что от них захочешь — вплоть до того, чтобы взять кредит и купить квартиру/машину, коллективно начать увлекаться видом спорта, который зафорсит менеджент, коллективно ездить на отпуск в поход туда, куда скажет менеджмент, коллективно переехать жить в другую страну и тд. Короче, быдло в самом классическом смысле этого слова. Люди хоть с малейшим кругозором и претензией на самостоятельные решения этого мирка избегают.

Кстати, намного убедительней по Свифту прошлись тут

[править] Свершилось

> Xamarin Studio Community
> FREE

На тех же условиях, что и Студия.

Мало того, Microsoft open sources Xamarin runtime, и даже to bring an iOS emulator for Windows

xamarin разработала mono, а mono и так опенсоурсная была. Где подвох?
Готовое решение для мобилок было очень платное.
Очень платное (500 баксов за среднюю комплектацию и 1000 за нормальный модуль к Visual Studio) и, при этом, адово багованное и криво реализованное. Хотелось бы верить, что Microsoft сумеет привести этот бардак к человеческому виду. В текущем виде это тянет только на бета-версию. И Мигеля, который столько бабла за это просил, очень хотелось пристрелить.