Comments 78
Черт, хочу такого красного дьяволенка
shanalogic.com/item.php?item_id=1678 54$ и он ваш ;)
Ярко.
нужно просто понять в чем соль каждой доработки =)…
«там» ведь тоже не дурни сидят!
«там» ведь тоже не дурни сидят!
Ну а кому понравится, если ему надо будет обязательно изучить новую фичу? ( Не выучил — ты хуже других ) Оттого и недовольство.
Я, как решарповец, ненавижу var! Когда я пишу, скажем, «VeryLongClassName v», а потом нажимаю Ctrl-Shift-Space, R# сам додумывает имя переменной. А когда я пишу «var v», ничего не происходит. То же будет и с динамиком. Какое счастье, что у моего рабочего проекта в кодконвеншене прописан запрет на использование var-а ^_^
Каждая новая фича языка увеличивает алфавит языка и, соответственно, увеличивает требования к срокам обучения. Но с другой стороны, правильное использование такой фичи делает программу короче и понятнее. Да, все мы консерваторы, но осознавая будущую пользу можно поднапрячься и получить бонусы, и не только в виде новых скилзов, но и в виде зарплаты ;-)
А вы что не вкурсе, что с каждым годом «стоимость» вхождения на рынок всё больше и больше?
Вы только представте, сколько сейчас нужно студенту выучить, что бы полноценным членом команды даже на маленьком проекте? Только потом и кровью за 5 лет обучения можно к 5 курсу выйти с хорошими знаниями. И при этом всё, что в ВУЗах читают только 5% из того, что абитуриенту понадобиться в работе.
Вы только представте, сколько сейчас нужно студенту выучить, что бы полноценным членом команды даже на маленьком проекте? Только потом и кровью за 5 лет обучения можно к 5 курсу выйти с хорошими знаниями. И при этом всё, что в ВУЗах читают только 5% из того, что абитуриенту понадобиться в работе.
Стоимость вхождения на рынок не только для разработчиков повышается. У био/генных инженеров аналогично. И еще много у кого. Первопричина — информационный взрыв.
Я в курсе про ВУЗы. Имею прямое отношение. Конечно, не 5%, значительно больше. Но с таким качеством, что доходит 1% от необходимого. Причем, от ВУЗов ждать улучшения маловероятно. Только если вдруг застой в отрасли случится, что невероятно. Если и дают что-то хорошее, то в отвязке от другого и очень узко.
Нужен концентрированный динамический учебный ресурс с фиксированным объемом (в часах его изучения), постоянно корректируемый сообществом разработчиков. Тогда к нему можно будет привязать программу ВУЗа.
Я в курсе про ВУЗы. Имею прямое отношение. Конечно, не 5%, значительно больше. Но с таким качеством, что доходит 1% от необходимого. Причем, от ВУЗов ждать улучшения маловероятно. Только если вдруг застой в отрасли случится, что невероятно. Если и дают что-то хорошее, то в отвязке от другого и очень узко.
Нужен концентрированный динамический учебный ресурс с фиксированным объемом (в часах его изучения), постоянно корректируемый сообществом разработчиков. Тогда к нему можно будет привязать программу ВУЗа.
Я поднимаю новичка где-то за две недели.
ХП еще никогда никто не отменял. Рулит лишь мозг и его способность адекватно разворачиваться в нужных условиях в нужную сторону, а этому могут хорошо научить только в ВУЗе.
ХП еще никогда никто не отменял. Рулит лишь мозг и его способность адекватно разворачиваться в нужных условиях в нужную сторону, а этому могут хорошо научить только в ВУЗе.
Они забыли, что в прошлом, нужно было ввести жесткий контроль памяти и многие другие операции, в которых погрязали как в трясине.
Ужасно, придумали какие-то языки, где машины контроллируют где я хочу освободить память! :)
Совершенно нечитаемый.
Работа с WinAPI требует одного принципа программирования, COM — другого. Javascript использует третий. Если все это смешать — будет ужас.
Работа с WinAPI требует одного принципа программирования, COM — другого. Javascript использует третий. Если все это смешать — будет ужас.
В Javascript свой, достаточно своеобразный ООП. Можно конечно подогнать его под C, но лучше его просто понять :)
Не надо грязи. Некрасивый код вина не языка, а программистов, которые на нем пишут. Посмотрите, например библиотеку Qt, там все весьма читабельно и на C++.
А вот такие языки как PHP несут угрозу, так как после них народ тупеет и уже на C++ программировать не могут.
А вот такие языки как PHP несут угрозу, так как после них народ тупеет и уже на C++ программировать не могут.
Когда чуть-чуть повзрослеете, посмотрите исходники вашего любимого PHP. Там очень много куда более брутального кода на C. И в конечном итоге всё всегда сводится к очень, очень брутальному коду, да ещё и со вставками на ассемблере для оптимизациипод конкретные архитектуры. А наверху разработчик видит только удобный интерфейс библиотеки STL. И структурирована и унифицирована она, кстати, намного лучше, чем стандартные функции PHP.
Чтобы иметь возможность написать в пхп
$a = my_cool_function(), где my_cool_function — функция, реализующая большие сложные вычисления, я должен либо написать эту функцию на php, и выполняться она будет часами, либо написать большой php-модуль на С, где будет дофига кода, а также вот такие строки:
И это, заметьте, всего лишь обертка для одной маленькой функции с одним строковым параметром. Вся реализация тут еще не видна.
Чтобы добавить готовую функцию в C/C++, мне надо написать одну строку. И пишите сами движок для расчёта квантово-химических моделей на PHP и Javascript. Можете еще на питоне написать.
$a = my_cool_function(), где my_cool_function — функция, реализующая большие сложные вычисления, я должен либо написать эту функцию на php, и выполняться она будет часами, либо написать большой php-модуль на С, где будет дофига кода, а также вот такие строки:
PHP_FUNCTION( my_cool_function ) {
char *word = NULL;
int argc = ZEND_NUM_ARGS();
int word_len;
if ( zend_parse_parameters( argc TSRMLS_CC, "s", &word, &word_len ) == FAILURE ) {
return;
}
char* tmp = myInnerObject.myInnerCoolFunction( word );
if ( tmp == NULL ) {
RETURN_STRING( word, "FALSE" );
} else {
RETURN_STRING( tmp, "FALSE" );
}
}
}
И это, заметьте, всего лишь обертка для одной маленькой функции с одним строковым параметром. Вся реализация тут еще не видна.
Чтобы добавить готовую функцию в C/C++, мне надо написать одну строку. И пишите сами движок для расчёта квантово-химических моделей на PHP и Javascript. Можете еще на питоне написать.
Спешит и падает. Именно поэтому PHP-программистам на хабре предлагают в среднем 20-40 тыс. рублей.
Ценность программистов-плюсовщиков начинается от 70 килорублей.
Когда люди пишут на плюсах, им важно качество кода, а не скорость его написания. Гугл использует питон для вспомогательных целей, но все его сервисы написаны на плюсах. Всяческий энтерпрайз пишут на статически типизированных яве и шарпе, а не этих ваших питонах. И хоть тресните, но для действительно важного кода нормальный программист предпочтет нормальный предсказуемый язык, а не php-питон.
Ценность программистов-плюсовщиков начинается от 70 килорублей.
Когда люди пишут на плюсах, им важно качество кода, а не скорость его написания. Гугл использует питон для вспомогательных целей, но все его сервисы написаны на плюсах. Всяческий энтерпрайз пишут на статически типизированных яве и шарпе, а не этих ваших питонах. И хоть тресните, но для действительно важного кода нормальный программист предпочтет нормальный предсказуемый язык, а не php-питон.
Вы так же неправильно мыслите. В php порог входа ниже, следовательно цены за труд начинается с меньшей суммы, чем у с++. Но и в С++ есть новички, которым платят те же 20k.
В нормальной конторе, важно любое качество кода, на любом языке.
В нормальной конторе, важно любое качество кода, на любом языке.
Ну вы сравните диапазон зарплат, да? Я не спорю, есть PHP-программисты, получающие 150к, но, как правило, это люди, способные и модуль для PHP на С написать, и пресловутый движок для моделирования молекул средствами чистого PHP сделать.
Для плюсовых программистов такую зарплату получить всё-таки намного проще, достаточно быть не гуру, а просто хорошим программистом, а 20к получать будет какой-нибудь junior developer-стажёр.
Для плюсовых программистов такую зарплату получить всё-таки намного проще, достаточно быть не гуру, а просто хорошим программистом, а 20к получать будет какой-нибудь junior developer-стажёр.
Perl программистов очень, очень ищут. Программисты на перле до кризиса (не знаю, как сейчас) стоили 3-5k USD.
И казалось бы высокий спрос на PHP-программистов должен повышать их стоимость, да? Именно про это говорит рыночная экономика. Только у PHP-программистов гораздо бОльшую роль играет предложение, потому что чтобы PHP-программистом стать — много знать не надо, и соответственно высокое предложение роняет стоимость ниже плинтуса. А заодно и качество резко падает, благодаря доморощенным фрилансерам, изучившим книжку «PHP за 24 часа».
А еще PHP нигде, кроме как в вебдеве не используется.
Динамическая типизация — это и есть пример непредсказуемого поведения языка. Простейший пример: без справочника и личного опыта хрен вы определите, переменная какого типа лежит у вас в $_GET['a'] после обращения к сайту с указанием ?a=3
И казалось бы высокий спрос на PHP-программистов должен повышать их стоимость, да? Именно про это говорит рыночная экономика. Только у PHP-программистов гораздо бОльшую роль играет предложение, потому что чтобы PHP-программистом стать — много знать не надо, и соответственно высокое предложение роняет стоимость ниже плинтуса. А заодно и качество резко падает, благодаря доморощенным фрилансерам, изучившим книжку «PHP за 24 часа».
А еще PHP нигде, кроме как в вебдеве не используется.
Динамическая типизация — это и есть пример непредсказуемого поведения языка. Простейший пример: без справочника и личного опыта хрен вы определите, переменная какого типа лежит у вас в $_GET['a'] после обращения к сайту с указанием ?a=3
Development team lead
Parallels
до 150 000 руб.
Обязательные требования:
* отличное знание perl, mod_perl;
* опыт программирования на Perl не менее 3х лет;
Программист Perl
RuTube
от 50 000 до 70 000 руб.
Требования:
* Со знанием Perl,MySQL и опытом работы над крупными веб-проектами не менее 2 лет
Разработчик Perl (Unix)
Web Interactive World
от 65 000 руб.
Требования:
* Знание Perl, Mod Perl, ООП, Template Toolkit,MySQL
Нормальный руководитель как правило хочет получить сайт. И естественно он предпочтёт нанять php-программиста, потому что дешевле всего, т.к. их много, а особых требований не предъявляется.
Как только от сервиса начинает требоваться высокая производительность, начинаются пляски с nginx-memcached-eaccelerator. А все важные места переписываются на компилируемых статических языках, ага.
Именно так. «Лежит число либо лежит строка». Вы можете это предсказать без справочника и без проверки функциями is_somewhat()? Нет, не можете. А если вы, упаси небо, передадите ?a=false и решите использовать её как bool, то вас ждёт страшное открытие, что в $_GET таки всё передаётся в виде строк, и ваш «false» внезапно приведётся в булевое true. Про другие не менее интересные открытия, типа intval(«3e+2»), даже рассказывать не буду.
Да даже в asp.net, Request.QueryString[«key»] возвращает всегда string.
Только у PHP-программистов гораздо бОльшую роль играет предложение, потому что чтобы PHP-программистом стать — много знать не надо, и соответственно высокое предложение роняет стоимость ниже плинтуса.
Не программистом, а стажёром :) К рынку настоящих PHP-программистов это имеет мало отношения :)
На настоящих программистов спрос небольшой. Как правило, требуется «самый лучший программист» (это цитата из какой-то вакансии на хабре), который за 25000р. должен допиливать движок интернет-магазина/форума, писать на сайт js-скрипты и верстать дизайн.
>>Тебе такой рыночный закон не известен?
Не аргумент. Насколько известно, один человек получил нобелевку недавно за то, что доказал, что закон рынка на самом деле не действует, или имеет малый приоритет :)
>> Мне неизвестен такой термин как предсказуемый язык программирования.
А еще, мне помнится, вы утверждали, что у вас коннект к базе может пропасть, только если базу «взорвут террористы», поэтому такой случай и предусматривать не надо.
Вы путаете теплое с мягким. То, что 95% написанного вами кода — скрипты на пехапе, которые исполняются, отдавая свой результат забвению, совершенно не означает, что не существует mission-critical приложений, от результатов корректной работы которых зависит очень многое.
>> Это именно тот случай, когда важна скорость работы приложения.
На проектах масштабов кластеров выбор языка не решает производительность. Hadoop вон на java написан, а twitter — на ruby, и что, он медленный? В таких размерах решающее значение имеют другие параметры, по которым php не подходит — стабильность, предсказуемость, надежность. Кстати, тот же twitter планируют переписать на scala (jvm) — стабильная олдовая платформа и статическая типизация.
Не аргумент. Насколько известно, один человек получил нобелевку недавно за то, что доказал, что закон рынка на самом деле не действует, или имеет малый приоритет :)
>> Мне неизвестен такой термин как предсказуемый язык программирования.
А еще, мне помнится, вы утверждали, что у вас коннект к базе может пропасть, только если базу «взорвут террористы», поэтому такой случай и предусматривать не надо.
Вы путаете теплое с мягким. То, что 95% написанного вами кода — скрипты на пехапе, которые исполняются, отдавая свой результат забвению, совершенно не означает, что не существует mission-critical приложений, от результатов корректной работы которых зависит очень многое.
>> Это именно тот случай, когда важна скорость работы приложения.
На проектах масштабов кластеров выбор языка не решает производительность. Hadoop вон на java написан, а twitter — на ruby, и что, он медленный? В таких размерах решающее значение имеют другие параметры, по которым php не подходит — стабильность, предсказуемость, надежность. Кстати, тот же twitter планируют переписать на scala (jvm) — стабильная олдовая платформа и статическая типизация.
Программирование это лишь решение некоей задачи.
А языки это просто инструменты.
Выбор инструмента зависит от задачи (её типа, масштабов) так и предпочтений работников.
Но кричать что «C++» дерьмо, «PHP» рулит — это или детство или глупость.
Есть задачи где рулит C++, еть где PHP, где-то ассемблер, где-то лисп (сколько существуют конфы прогграмисткие столько это и пытаются обьяснить отдельным горячим личностям, и столько же эти личности вновь появляются).
И вещи это не взаимозаменяемые.
Лучше думать, а потом писать…
А языки это просто инструменты.
Выбор инструмента зависит от задачи (её типа, масштабов) так и предпочтений работников.
Но кричать что «C++» дерьмо, «PHP» рулит — это или детство или глупость.
Есть задачи где рулит C++, еть где PHP, где-то ассемблер, где-то лисп (сколько существуют конфы прогграмисткие столько это и пытаются обьяснить отдельным горячим личностям, и столько же эти личности вновь появляются).
И вещи это не взаимозаменяемые.
Лучше думать, а потом писать…
то то динамические языки придумывают себе всякие прекомпиляции скриптов. И РНР и яваскрипт и питон… Какое-то странное у них будущее, динамически компилируемое.
И давайте не равнять новояз и мастодонтов. Вы попрограмируйте на c#, а потом перейдите на яваскрипт =) знаете, ощущение что как руки отрезали, по самую шею — «так не получается», «тут все руками писать», «дженериков нету, Query comprehension даже не предвидится»…
И давайте не равнять новояз и мастодонтов. Вы попрограмируйте на c#, а потом перейдите на яваскрипт =) знаете, ощущение что как руки отрезали, по самую шею — «так не получается», «тут все руками писать», «дженериков нету, Query comprehension даже не предвидится»…
> И давайте не равнять новояз и мастодонтов. Вы попрограмируйте на c#, а потом перейдите на яваскрипт =)
Да-да, попробуйте попрограммировать на питоне, а потом перейдите на c#. Того нет, этого нет, того не умеет, библиотек не хватает… ;-)
Да-да, попробуйте попрограммировать на питоне, а потом перейдите на c#. Того нет, этого нет, того не умеет, библиотек не хватает… ;-)
каких библиотек не хватает в шарпе?
мы тут как-то с товарищем «мерялись пиписьками» Джанго против Энтити фреймворка. Последнее что я услышал — ну а это нормальный человек делать не будет, у нас нету и не надо. Т.е. выяснилось что технически ЕФ как минимум не хуже Джанго, а с LINQ2EF — и превосходит по читабельности.
Думаю что если начать меряться с питоном, то единственное в чем питон выиграет серьезно — это возможность метапрограммирования и метаданные. Но по многим статьям у него только джентельменские соглашения а никак не строгий контроль. Язык хороший, сам все никак за него не засяду, очень нравится.
Но поверьте, вы просто слабо представляете себе мощь шарпа, если такое говорите…
Думаю что если начать меряться с питоном, то единственное в чем питон выиграет серьезно — это возможность метапрограммирования и метаданные. Но по многим статьям у него только джентельменские соглашения а никак не строгий контроль. Язык хороший, сам все никак за него не засяду, очень нравится.
Но поверьте, вы просто слабо представляете себе мощь шарпа, если такое говорите…
Чего это нет в шарпе, что есть в питоне?
Эти самые «дурацкие шаблоны» в C++ позволяют использовать парадигму обобщенного программирования.
Статические != дурацкие типы данных и тонны кода. Попробуйте Nemerle или Scala (или F#), и поймете о чем я.
Тогда мы потеряем преимущества статического анализа. Для того чтобы анализировать динамический код нужно никак не меньше чем самый настоящий искусственный интеллект.
На картинке маленький bsdенышь
Люди ленивы по своей сути, и с каждым годом становятся ленивее.
Пока был молод, выучил набор фич и затормозился на этом уровне.
А тут пришли молодые, и подпёрли — кто тут будет доволен в такой ситуации?
Сам порой размышляю — «придумывают тут, зачем оно надо?».
А потом понимаю, что это всё от лени — не нравится не используй, строгай код по старинке.
Если тебе не надо, это не значит что другим тоже нет в этом необходимости.
К счастью ворчуны ворчат, а их оппоненты берут и делают, иначе б сидели в каменном веке и высекали огонь камень об камень.
Пока был молод, выучил набор фич и затормозился на этом уровне.
А тут пришли молодые, и подпёрли — кто тут будет доволен в такой ситуации?
Сам порой размышляю — «придумывают тут, зачем оно надо?».
А потом понимаю, что это всё от лени — не нравится не используй, строгай код по старинке.
Если тебе не надо, это не значит что другим тоже нет в этом необходимости.
К счастью ворчуны ворчат, а их оппоненты берут и делают, иначе б сидели в каменном веке и высекали огонь камень об камень.
А некоторых «колбасит» даже от технологий. Помню, когда то ненавидел AJAX.
Приведу контраргументы:
1. Поодержка старого кода и API. Generics в Java появились недавно. До сих пор много библиотек их не используют, рискуя потерять совместимость. Например тот же Swing. Имплементируя новую фичу нужно думать о совместимости со старой.
2. Новая фича предлагает новый прием программирования. Однако раньше та же функциональность прекрасно делалась стандартными средствами. В итоге мы имеем несколько альтернативных способов написать одно и то же, а это не есть хорошо.
3. Фичи, которые ослабляют синтаксический контроль языка в угоду быстроты разработки портят его изначальную идею. Выбирайте язык соответвующий потребностям, а не универсальную кашу на все случаи жизни.
4. Обилие фич как правило портит стиль написания и приводит к потере унифицированности. Прежде чем начать командный проект, приходится все больше читать доки по принятому у в команде стилю и гайдлайнз.
1. Поодержка старого кода и API. Generics в Java появились недавно. До сих пор много библиотек их не используют, рискуя потерять совместимость. Например тот же Swing. Имплементируя новую фичу нужно думать о совместимости со старой.
2. Новая фича предлагает новый прием программирования. Однако раньше та же функциональность прекрасно делалась стандартными средствами. В итоге мы имеем несколько альтернативных способов написать одно и то же, а это не есть хорошо.
3. Фичи, которые ослабляют синтаксический контроль языка в угоду быстроты разработки портят его изначальную идею. Выбирайте язык соответвующий потребностям, а не универсальную кашу на все случаи жизни.
4. Обилие фич как правило портит стиль написания и приводит к потере унифицированности. Прежде чем начать командный проект, приходится все больше читать доки по принятому у в команде стилю и гайдлайнз.
1. Поймал себя на мысли, что всё что я изучал многократно дублировалось, только на разной основе. Но ведь это и есть развитие по спирали, разве нет? А гонка за обратной совместимость гарантировано ведет в тупик. Иногда нужно делать эволюционные скачки, чтобы сбросить весь накопившийся бред. Например, MS сделали C#! Даже где-то была исповедь от разработчиков, типа всё что было до шапра — фигня.
2. Инжекторный двигатель тоже нужно делать отличным от карбюраторного. Но ведь он экономичнее! Так же и с кодом: новые фичи позволяют более элегантно всё обобщить, оформить.
3. Вы конечно правы, но не язык тут виноват, а кодер и тот кто его учил. Пальцы в розетку тоже нельзя пихать или подключенный к розетке ноут брать в ванную :), но это все знают (надеюсь :).
4. Опять же, не язык, а кодер виноват в этом. Вы видели, чтобы мебельщики например жаловались, что можно и так и сяк сделать, и красный с зеленым намешать…
2. Инжекторный двигатель тоже нужно делать отличным от карбюраторного. Но ведь он экономичнее! Так же и с кодом: новые фичи позволяют более элегантно всё обобщить, оформить.
3. Вы конечно правы, но не язык тут виноват, а кодер и тот кто его учил. Пальцы в розетку тоже нельзя пихать или подключенный к розетке ноут брать в ванную :), но это все знают (надеюсь :).
4. Опять же, не язык, а кодер виноват в этом. Вы видели, чтобы мебельщики например жаловались, что можно и так и сяк сделать, и красный с зеленым намешать…
Слушайте, ну молотком тоже можно людей убивать, но это не значит что молотки надо запретить или не совершенствовать.
Новая фича предлагает возможнось, реализуете ли вы ее или нет — ваше право и ваше решение. Ничего они не портят, ну есть в языке возможность обрушить систему — это же не значит что язык плохой, просто идиотов которые пользуются всякими извратами — надо бить линейкой по рукам. Но очень часто оказывается что существуют сценарии, где без фичи обрушения системы никак не сделать то что нужно.
Опять же по поводу стиля — если человек пишет синтаксическую кашу — такая же каша у него и в голове — он не понимает для чего используется та или иная фича. А это обычно ведет к тому, что проблема синтаксического оформления — самая маленькая проблема с кодом этого человека, там и архитектура — «как оформление», и ооп тоже в ту же степь катится. Поэтому применяем наш любимый рефакторинг — Throw-All-Rewrite.
Пожалуйста не считайте себя умнее тех людей, которые пишут ЯП, они совсем не дураки и вводят фичи не с потолка.
Новая фича предлагает возможнось, реализуете ли вы ее или нет — ваше право и ваше решение. Ничего они не портят, ну есть в языке возможность обрушить систему — это же не значит что язык плохой, просто идиотов которые пользуются всякими извратами — надо бить линейкой по рукам. Но очень часто оказывается что существуют сценарии, где без фичи обрушения системы никак не сделать то что нужно.
Опять же по поводу стиля — если человек пишет синтаксическую кашу — такая же каша у него и в голове — он не понимает для чего используется та или иная фича. А это обычно ведет к тому, что проблема синтаксического оформления — самая маленькая проблема с кодом этого человека, там и архитектура — «как оформление», и ооп тоже в ту же степь катится. Поэтому применяем наш любимый рефакторинг — Throw-All-Rewrite.
Пожалуйста не считайте себя умнее тех людей, которые пишут ЯП, они совсем не дураки и вводят фичи не с потолка.
Статья хорошая, но не могу не поныть :). Почему примеры только на таких попсовых языках, как C# и PHP? Где революция синтаксиса Python 3, когда код для версии 2.5 перестал компилироваться? Почему svn? Автор, пора уже давно перейти на git/hg/bazaar. :)
Не стоит забывать, что есть субъективные, но очень важные параметры, которые влияют на восприятие инструмента его пользователями — одни реализации кажутся избыточными или бедными, другие — «необходимыми и достаточными», какие-то идеи словно витают в воздухе, а некоторые — притянуты за уши. Иногда даже рациональный, эффективный код выглядит так, что хочется спросить его «ну что за горе-человек без вкуса и без чувства прекрасного написал тебя? Зачем этот цирк с конями?». А другой, ничем на первый взгляд не выдающийся, оказывается потом вещью в себе, как стихотворение — ни слова не добавить и не убавить.
Простыми словами — этот ваш C# всем хорош, но он дебиловатый какой-то. Вся эта феерия «нового функционала» ничего ровным счетом не добавляет, просто кодерам низшего уровня предоставляется еще одна возможнсоть сделать мир немного уродливее.
Простыми словами — этот ваш C# всем хорош, но он дебиловатый какой-то. Вся эта феерия «нового функционала» ничего ровным счетом не добавляет, просто кодерам низшего уровня предоставляется еще одна возможнсоть сделать мир немного уродливее.
Отличная статья. Респект)
Sign up to leave a comment.
Семь кругов ада для новых элементов языка