11010000 10010100 11010001 10000000 11010001 10000011 11010000 10110111 11010001 10001100 11010001 10001111 00101100 00100000 11010001 10000001 00100000 11010000 10110100 11010000 10111101 11010000 10110101 11010000 10111100 00100000 11010000 10111111 11010001 10000000 11010000 10111110 11010000 10110011 11010001 10000000 11010000 10110000 11010000 10111100 11010000 10111100 11010000 10111000 11010001 10000001 11010001 10000010 11010000 10110000 00100001 00100000 00111010 00101001
!В 2000 году группой разработчиков компании Microsoft был представлен новый язык программирования С#, который сочетал в себе всю выразительность объектно-ориентированных языков программирования, вроде Java, и мощность С++. Синтаксические конструкции нового языка в большинстве своем были позаимствованы из С++ (типы данных вроде структуры и перечисления) и из Visual Basic (использование свойств классов).
В этот праздничный 256-й день года мы решили вспомнить десять фактов о языке C#, которые вы могли не знать:
1. Идея создания языка C# зародилась в 1998 году и проект изначально назывался COOL (C-style Object Oriented Language).
2. Название языка произошло при проведении параллели между языками C# и C++. И этому существует два обоснования. Первое — знак «#» является составляющей из четырех «+»: C > C++ > C++++(C#). Второе — знак «#» является копией знака «диез» в музыкальной нотации, который обозначает повышение звука, соответствующего ноте, на полутон, по аналогии со знаком «++» в языке С++, который обозначает инкремент переменной.
3. Так как знака «диез» на клавиатуре нет, было принято решение использовать знак «#». Но, на печатных материалах Microsoft использует именно «диез».
4. После того как появился язык С#, на сайте The Daily WTF возник локальный мем и его начали называть «C-POUND», что вызвало путаницу среди разработчиков: «С-Sharp? C-Hash? C-Pound? C-WHAT?»
5. С# является первым компонентно-ориентированным языком программирования из семейства C.
6. В 2001 году Аннерс Хейлсберг, который считается «отцом» языка С#, был удостоен престижной награды «Programming Award» от журнала Dr. Dobb's за вклад в развитие разработки программного обеспечения.
7. До 2004 года у разработчиков C# был талисман по имени Andy.
8. В 2014 году был открыт исходный код компилятора C#.
9. Язык C# стандартизирован в ECMA (ECMA-334) и ISO (ISO/IEC 23270).
10. Существуют независимые реализации языка C#, самые известные из них: Xamarin, dotGNU и Portable.NET.
Помимо интересных фактов существует множество полезных ресурсов для разработчиков C#:
1. Курс на русском языке для начинающих разработчиков C#.
2. Бесплатная книга о создании приложений с использованием Xamarin.Forms.
3. Новое шоу на Channel 9, посвященное разработке на Xamarin.
4. Справочные материалы по ключевым словам, операторам, ошибкам и предупреждениям компилятора C#.
5. Ресурс со специфическими примерами кода на C#.
Присоединяйтесь к поздравлениям и оставляйте в комментариях свои ссылки на полезные ресурсы по языку C#!
Комментарии (71)
Source
12.09.2016 15:24+3С# является одним из двух чистых объектно-ориентированных языков программирования
Хм, даже интересно стало увидеть ваше определение чистого ООЯП и какой же ещё 1 язык под него подпадает?
LexS007
12.09.2016 17:20+1Вот кстати автор Ruby назвал свой язык «истинно объектно-ориентированным», из-за того что в нем не было простых типов.
Source
12.09.2016 17:42+1Таких языков очень много, Smalltalk, Self, Io, etc. Однако, Ruby, как и C#, не является чистым ООЯП, т.к. поддерживает и другие парадигмы «из коробки».
crackedmind
12.09.2016 15:24+2> 10. Существуют независимые реализации языка C#, самые известные из них: Xamarin, dotGNU и Portable.NET.
DotGnu давно уж мертв, и можно не считатьNagg
12.09.2016 18:54-1Да и xamarin уже не назвать независимым ;-)
crackedmind
12.09.2016 20:32Ну и xamarin не реализация, а платформа вокруг моно для кроссплатформенности.
ittakir
12.09.2016 15:297. Не смог найти ни одной фотографии Andy.
Source
12.09.2016 15:46+1В оригинальной статье была такая картинка:
Ссылка на Web Archive: http://web.archive.org/web/20060208020139/http://msdn.microsoft.com/vcsharp/art/csharp_team.gif
maaGames
12.09.2016 15:47+4Название C# произошло при проведении параллели между языками C# и C++. Рекурсивненько.
bentall
12.09.2016 16:07+4Для меня тут (кроме маскота) новым оказался один факт:
> 5. С# является первым компонентно-ориентированным языком программирования.
я-то считал, что это был [пост]Виртовский Component Pascal, а нет, до-диез вышел на год раньше. Впрочем и у того, и у другого были предшественники в виде Borland Object Pascal/Delphi и Oberon-2 соответственно.rv82
13.09.2016 09:20+1Насколько я знаю, любители Component Pascal считают именно его истинным компонентно-ориентированным языком.
ArtyomIsFlash
12.09.2016 16:34+3Я думаю, что C# означает «чуть более высокоуровневый C»
Varkus
12.09.2016 17:04+5Для меня С# означает: скачайте еще 250-300 мегабайт dotnet, чтобы этот helloworld заработал.
Nagg
12.09.2016 19:00+5вы живете стереотипами из 2007ого.
NeoCode
12.09.2016 19:19-5Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году. Если это не так — это проблемы архитектуры и ОС, а не стереотипы из какого-то там года,
Nagg
12.09.2016 19:47+4Кому должен? Вы пишите хеллоу ворлды в продакшн? Или вы пишите большие rich интерфейс приложения, где одних ассетов может быть на пару мегабайт? Всё зависит от контекста.
khim
12.09.2016 20:57-2200-300 мегабайт рантайма типа незаметны на фоне пары мегабайт ассетов?
Проблема в том, что офигительный процент этих «Rich приложений» не делают ничего такого что какой-нибудь FoxPro или Clarion не могли сделать этак 20 лет назад.
К сожалению это проблема всеобщая: современный C++ тут от C# недалеко ушёл:
$ cat test.cc #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; } $ g++ -O3 -static -s test.cc -o test $ size test text data bss dec hex filename 1304583 27276 92776 1424635 15bcfb test
В своё время в примерно такой объём влазили компилятор, линкер и даже интегрированная среда. Сегодня — Hello, World. Но, конечно, это всё ещё на порядок (а то и на два) меньше, чем в случае с C#…Nagg
12.09.2016 21:14+3Я написал выше комментарий про то, что 200-300мб — это стереотип из 2007ого, а вы опять повторяете. Сейчас там модульный дотнекор, а у нас на андроиде весь дотнет(моно) со всем добром простым интерфейсом занимает мегабайта 2-3. Но опять же как только вы начнете делать что-то сложнее Hello world (ну знаете, этим занимаются обычные прикладные программисты на работе, а не теоретики, которые меряются размерами хеллоу ворлдов) с добавление 3rd party, ассетов под разные аспекты — на этом фоне небольшая прокладка для шарпа теряется. LTE, 128гб телефоны, недорогие терабайтные диски (а то и ссд)… а мы до сих пор будем вспоминать зеленую траву из юности?
LAutour
13.09.2016 09:28+2Borderlands 2, Unigine Heaven — в основном коде использования C# нет, как-то обошлись классическим С++. Но на C# написаны там простенькие лаунчеры (в случае Unigine, размер требуемого dot-net для лаунчера заметно превышает основное приложение.).
Source
12.09.2016 23:19+6Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году.
На правах человека, который для прикола реально писал программу, размером меньше 1 кб, замечу, что Вы несёте чушь…
Для примера возьмём Windows, как наиболее распространённую ОС… Даже если взять 32-битную версию, то есть определённый формат исполняемых файлов, есть импорт kernel32.dll, чтобы хоть что-то осмысленное сделать… есть длина строки и имени вызываемой функции в конце концов. Всё это занимает гораздо больше нескольких десятков байт. Даже если насиловать компилятор кастомными размерами секций, то меньше 512 байт у Вас небитый exe-файл сделать не получится. А helloworld будет занимать уже не меньше 768 байт. А если прибавить к этому размер самой kernel32.dll, то уже на мегабайты счёт пойдёт.
kaiZer_dragomir
13.09.2016 09:28А когда Вам надо забить гвоздь в стену вы вызываете специальную бригаду строителей с отбойными молотками? Можно конечно, но не лучше ли использовать обычный молоток и самому вбить гвоздь?
Шарп разрабатывался не что бы «с миром здороваться» и для своих целей очень и очень удобен.
zhaparoff
13.09.2016 09:28Можно пример в студию?
Только если мы уже заговорили про неиспользование фреймворков по 100-200-300 Мб, чур и средства ОС тоже не использовать.
Да и драйвер видеокарты тоже весит 100 метров. Его тоже в топку.
А ну и БИОС — тоже фреймворк можно сказать. Прерывания нельзя.
Удачи!iandarken
13.09.2016 14:02+3Почему средства ОС не использовать? Давайте так. Не использовать то, чего не стоит по-умолчанию на свежей системе. Я не против дотнета, но когда продукт на двадцать строчек хочет 40 мебагайт 4.5 дотнета — это меня пугает.
Впрочем, дегенеративная привычка ВизуалСтудиостов не менять свойства проекта, из-за чего он потом требует редистры разных версий — такое же раздражение вызывает. Вот честно, я лучше полуторамеговый экзешник скачаю, чем 150-килобайтный, который еще и msvcr120.dll будет требовать на пустой машине.zhaparoff
13.09.2016 14:34Ок, у меня Windows 8.1, там уже есть .NET 4.5 из коробки. Helloworld занимает у меня меня 4,5 Кб. Он будет работать на любой современной версии винды без дополнительных танцев (Современная в моем понимании — официально поддерживаемая вендором). При этом хеловорлд на C# осилит даже ребенок, я бы классе в 5 точно осилил. Предложите свой пример. Только давайте без встроенных в ОС скриптовых языков, мы сейчас говорим о компилируемом приложении.
В ответ предлагаю встречный вашему «размер хеловорлда» тест. Я на .NET смогу тасклист с вебмордой накидать за пару часов. И задеплоить его в продакшен на ажур в тот же день. Следуя вашей логике — любой язык должен позволять сделать то же самое за сопоставимое время. Возьмите язык, который по-вашему превосходит C# в написании хеловорлдов, и сделайте то же самое за сутки.
Вообще, как правильно высказались коллеги выше, не стоит сравнивать теплое с мягким. Есть разные задачи, разные цели и разные инструменты. .NET в первую очередь создавался для ускорения сложной разработки, для уменьшения ошибок, связанных управлением памятью. То что до полноценной модульной структуры добрели только сейчас — плохо конечно, но добрели же. В любом случае, закон сохранения всего подряд никто не отменял — чтобы в чем-то выиграть, нужно где-то уступить.
Кроме того, время не стоит на месте тоже. Даже ребята-электронщики уже забили на ассемблер и, тем более, двоичные коды, и вовсю пилят прошивки для микроконтроллеров на Си и даже JS. Хотя это тоже требует каких-то уступок: будь то эффективность, быстродействие или размер прошивки.iandarken
13.09.2016 16:20+2Речь не о том, чтобы «не использовать C#», речь о «не использовать его для приложений на 10 строк».
А насчет «хелловорлда на для 5 класса» — так паскаль же! Вон, Хеловорлд на 4 строчки, на 31 килобайт, который не требует установки ничего лишнего ;) И тасклист на FPC в веб-мордой я не смогу за пару часов, но если поменять FPC на дельфы — вполне. Правда, там бинари, «не требующие ничего» будут не по 500кб, а в пяток мегабайт, но, если честно, для меня приоритетней «ничего не ставить» чем «лишний мегабайт бинаря»Source
14.09.2016 11:43если честно, для меня приоритетней «ничего не ставить» чем «лишний мегабайт бинаря»
Подход «ничего не ставить» подходит для очень ограниченного круга простых задач… Для мало-мальски сложного клиентского приложения всё равно придётся делать инсталлятор/деинсталлятор, из которого уже не проблема установить всё что нужно, если это отсутствует.
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере Electron, где каждое приложение встраивает в себя под 100 Mb браузерного движка, вместо того, чтобы устанавливать его отдельно и единоразово.iandarken
14.09.2016 12:55Я вообще имел в виду не энтерпрайс, а утилиты. Но ладно, возьмем «взрослые» продукты.
No Man's Sky. Отбросив проблемы с AMD — первый выкаченный билд не запускался у некоторых потому, что требовал MSVCR какой-то там версии, которая стояла не у всех. Блин, да поменять один флаг компилятора — и не нужны будут никакие редистры. Да, ДЛЛки и бинарь вырастут на стописят килобайт каждый, но в современных продуктах PEшек мало, главное место жрут ресурсы.
KIS17. Перед тем как поставиться на Win7 он попросил Дотнет45. И пойдет качать много мегабайт. А потом его ставить. А зачем там нужен дотнет? Для гуев. И все.Source
14.09.2016 20:49первый выкаченный билд не запускался у некоторых потому, что требовал MSVCR какой-то там версии, которая стояла не у всех.
С MSVCR я тоже не понимаю смысла отдельно его устанавливать, особенно для игр, которые сами по себе порядка Гб занимают… Подозреваю, что там какие-то лицензионные заморочки от MS.
KIS17. Перед тем как поставиться на Win7 он попросил Дотнет45. И пойдет качать много мегабайт. А потом его ставить. А зачем там нужен дотнет?
Ну и в чём проблема? 1 раз установится Дотнет45 и всё на этом, остальные программы уже не будут его качать.
P.S. Вы ещё про JRE забыли ;-)
svboobnov
15.09.2016 00:02Тасклист с веб-мордой можно приготовить на FreePascal, на D (dlang.org), на бейсике (Gambas) и на множестве других компилируемых языков. Можно даже на Java, не обвешивая программу полноценным стомегабайтным рантаймом (применяем либо Avian JVM (вес исполняемого файла ~3Мб), либо скомпилировать при помощи gcj — компилятора из набора gcc (~3Мб), либо с помощью ExcelsiorJet (~1Мб) ).
zhaparoff
16.09.2016 12:34Тасклист с веб-мордой можно приготовить на FreePascal, на D (dlang.org), на бейсике (Gambas) и на множестве других компилируемых языков. Можно даже на Java,
Не спорю, можно. На ассемблере, вероятно, тоже можно. Вопрос затрат времени и усилий.
Напоминаю, весь холивор начался со слов:
Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году.
А вы предлагаете JVM, хоть и по 3 Мб…
Source
13.09.2016 14:35Так, справедливости ради, дотнет стоит по умолчанию на свежей системе, начиная с Windows 7 SP1, емнип.
Varkus
14.09.2016 16:51ЁМНИП какая версия dotnet стоит на win7sp1?
Несчастный конфигуратор для охранно-пожарных приборов требует, не менее 4.0.
Качаю -> ставлю, т.к. моя неполноценная win7sp1Pro не имеет на борту dotnet 4.0 и более.
http://superuser.com/questions/298025/does-windows-7-have-net-4-installed-by-default
В картинках
http://stackoverflow.com/questions/909516/what-version-of-net-ships-with-what-version-of-windows
Обязательно вики
https://en.wikipedia.org/wiki/.NET_Framework#Release_history
В моём субъективном понимании — C# любят те, кто не понял С++. Ничего личного.red75prim
14.09.2016 18:17С++ — здоровенный швейцарский нож в составе: кремневый нож, каменный ударник, классный скальпель, почти функциональная пилка, программируемый синтезатор материи. Дополнительно можно купить изоленту, чтобы кремневый нож и скальпель не раскладывались во время программирования синтезатора.
Source
14.09.2016 21:06ЁМНИП какая версия dotnet стоит на win7sp1?
Из коробки 3.5, остальные должны были приехать с обновлениями, если Windows Update не отключён.
В моём субъективном понимании — C# любят те, кто не понял С++.
Вы знаете о существовании только двух языков программирования? По-моему у C# и C++ из общего только буква C в названии. В остальном, языки из разных групп, с разной областью применения и т.п.
zhaparoff
16.09.2016 12:01Давайте не страдать геронтофилией. Win7 уже все. Даже если она и стоит до сих пор на куче компов по всему миру, это не значит что нужно разрабатывать софт под устаревшие платформы. В вебе давно этот вопрос решили: Убогая фича? В топку, deprecated! Не поддерживается браузером и делай что хочешь.
А насчет любви, на мой взгляд, C# любят те кому надоели:
— 5 страничные скрипты сборки
— 4 вложенных цикла чтобы всего лишь освободить память из под указателя на массив массивов указателей на массивы указателей.
Те, кому нравится:
— объявление массива строк 1 строкой
— освобождение памяти из под него 0 строками.
— уверенность в том, что int это всегда int32, на любой платформе, после любого компилятора.
Я не хочу никого убедить, что С# идеален, а C++ нет. У обоих есть свое применение и свои сильные-слабые стороны. Как и у множества других языков. Я вот не понимаю Java, хотя вроде бы задумка неплохая. Но я не кричу на каждом углу — «джава для тех кто не смог C#».
Varkus
14.09.2016 16:39мажу лицо фэйспалмовыл маслом, «хэлоуворлд» это же сарказм, извините что тэг забыл добавить.
Но масса приложений, прошедшие через мои руки, в частности по видеонаблюдению, могли бы СПОКОЙНО обойтись без этого «поделия», т.к. функционал и так не изобилует чем-то сверхгениальным.
Меня просто субъективно раздражает подход контор разработчиков ПО: С++ хорош, но программеры дорого берут, возьмём студента на С#.
А в результате страдает пользователь:
— вот вам программа на 20 мегабайт, она всё может.
— хм, 30 метров и прямо всё может?
— ну да, это же C#
прошло 5 минут
— парни, ваша поделка просит dotnet, что делать?
— как что? скачать dot net и радоваться жизни(а в это время за глаза: вот ламерюга, такие вопросы тупые задаёт)
— так оно 300 метров весит, я со своим инетом неделю качать это буду! Мало того что за ОСь заплатил, следом за вашу поделку заплатил, теперь еще и за трафик платить?
— ну извините, что в вашем Мухосранске нет оптики, давайдосвидания!
Вы думаете я чушь несу? Нет! Это реальность из-за третьего транспортного кольца :(Source
14.09.2016 21:14Видимо, в Мухосранске до сих пор сидят на Windows XP, но при заказе разработки забыли об этом упомянуть… CD/DVD-приводов и USB-разъёмов на местных компах тоже сроду не водилось, поэтому доставка ПО возможна только через интернет и только с оплатой за трафик 2 руб/Мб или сколько там оно было 10 лет тому назад…
С++ хорош
Это C хорош, а не С++, не путайте )))svboobnov
15.09.2016 00:17-1CD/DVD-приводов и USB-разъёмов на местных компах тоже сроду не водилось, поэтому доставка ПО возможна только через интернет и только с оплатой за трафик 2 руб/Мб
А как же Вы, простите, собираетесь Windows Update без интернета организовать?
А вот есть такие системы видеонаблюдения, для которых софт существует только под Windows XP, и всякие ненужные разъёмы на системном блоке залиты эпоксидкой.
На этот же компьютер начальство желает поставить охранно-пожарную морду, написанную на этом вашем дотнете. И интернет к охранно-пожарке подключать нежелательно. Какой выход? Правильно — подключить сотовый модем и долго-нудно скачивать 300Мб .NET.Source
15.09.2016 21:18А как же Вы, простите, собираетесь Windows Update без интернета организовать?
А причём тут это? .NET можно и напрямую поставить…
P.S. Вас кто-то из программистов, использующих .NET, обидел что-ли?
Разъёмы залиты, ethernet-доступа нет, интернета нет… Ну достаньте HDD из этого несчастного компа, подключите его к нормальному и скопируйте туда эти 67 Mb (именно столько занимает инсталлятор .NET 4.5.2) xDsvboobnov
15.09.2016 23:05Никто меня не обидел. И более того: среди виденных мною разработчиков я могу выделить трёх очень грамотных и вдумчивых людей, и все трое, по странному стечению обстоятельств, работают с .NET.
Просто у меня дух противоречия бурлит, и не нравится идея таскания большого рантайма вслед за крохотным приложением.zhaparoff
16.09.2016 12:28Не понимаю я вас, вот честно.
У меня на телефоне, просто вдумайтесь, 4 Гб оперативной памяти. В ТЕЛЕФОНЕ!
На планшете за 3 доллара в месяц — 10 Гб 3G трафика. Это не опечатка, 10 ГИГАБАЙТ.
А вы все жметесь скачать 100 метров из тырнета…
21 век на дворе, е-мае! Виртуальная реальность на подлете!
Если трудно с инетом — скачал, принес на флешке (Нормальные девелоперы просто делают сетап и туда вкладывают msi дотнета, сетап делается за 15 минут в студии)
Если один раз поставить — легче простого.
Если много — есть замечательные штуки типа WSUS/SCOM и тому подобных корпоративных раздвалок софта.
При этом ставится 1 раз, а не так как C++ рантайм: минорная версия различается — и все, нужно рядом ставить 5 штук одинаковых, но не совсем.
Извините за излишнюю эмоциональность, но и в правду, хватит.
Если это «наколеночная» утилита, то не стоит ждать от нее удобства развертывания. Небось, кряки для игр, включающие 10 пунктов (включая правку реестра вручную и прочие увеселения) вас так не раздражают.
Если продакшен утилита — то должен быть сетап и все ставится одной кнопкой. Если сетапа нет — значит вы наняли не тех людей.
Source
16.09.2016 13:21Просто у меня дух противоречия бурлит, и не нравится идея таскания большого рантайма вслед за крохотным приложением.
Так в том то и дело, что ни .NET, ни JVM не таскают большой рантайм за крохотных приложением. Рантайм ставится системно, а не в рамках приложения. Сравните, например, с Electron-based приложениями, вот там действительно рантайм засунут в приложения. И если Вам нужно 5 приложений на Electron, то Вы 5 раз вынуждены будете скачать рантайм и иметь в системе 5 его копий.
umnijdrug_com
12.09.2016 17:06-1Всех с днем программиста!!!
C# — мой основной язык. Работаю на международном проекте. И хотелось бы сказать:
11 факт. Как бы не был крут язык, найдутся индусы, которые испоганят его в своем *овнокоде.khim
12.09.2016 17:18+2После общения с достаточно большим количеством программ от разных компаний могу сказать: хватить катить баллоны на индусов. Они, по сравнению с китайцами — молодцы вообще.
Во всяком случае программ на C# для Android'а с добавлением библиотек на Objective C скопилированных под ARM и нативных процедур «для ускорения» C# кода под x86 в одном продукте я у индусов не видел. У китайцев — легко.Redwan
12.09.2016 18:17+1Я бы стал различать индийцев и индусов. Первое — национальность, второе — призвание.
LexS007
12.09.2016 17:0910. Существуют независимые реализации языка C#, самые известные из них: Xamarin, dotGNU и Portable.NET.
Разьве Xamarin это реализация C#? реализация C# это компилятор mcs в Mono.
iqiaqqivik
12.09.2016 17:23+6> проект изначально назывался COOL (C-style Object Oriented Language)
Жаль, не C-style Object Best Oriented Language.Schvepsss
12.09.2016 17:32+1Видимо тогда возник бы вопрос об авторских правах к аббревиатуре.
KvanTTT
12.09.2016 17:48+4Ну вообще-то язык Cool тоже существует.
QtRoS
12.09.2016 23:23Ееее, я знал, что кто-то тут проходил замечательный курс Compilers и познакомился с COOL'ом!
KvanTTT
13.09.2016 00:15+1Да, в свое время даже опубликовал статьи по разработке компилятора для этого языка :) Благодаря первой получил инвайн на хабр.
LookingAhead
12.09.2016 17:27+3Эх, я обманулся заголовком дважды:
1) Подумал, что внутри что-то про день программиста;
2) Что-то про C++;
И ещё поздравление в двоичном коде -> из вашего сообщения у меня получилось «Друзья`pсpднемpпрограммистаqp?» (UTF-8)
Если исправить то:
11010000 10010100 11010001 10000000 11010001 10000011 11010000 10110111 11010001 10001100 11010001 10001111 00101100 00100000 11010001 10000001 00100000 11010000 10110100 11010000 10111101 11010001 10010001 11010000 10111100 00100000 11010000 10111111 11010001 10000000 11010000 10111110 11010000 10110011 11010001 10000000 11010000 10110000 11010000 10111100 11010000 10111100 11010000 10111000 11010001 10000001 11010001 10000010 11010000 10110000 00100001
«Друзья, с днём программиста!»
Schvepsss
12.09.2016 17:31+1Получился сюрприз. :)
Проверила еще раз. Вроде все верно про двоичный код. Надпись выглядит так: «Друзья, с днём программиста! :)»LookingAhead
12.09.2016 18:13Вы правы! Поспешил с сообщением и не заметил, что первый 0 сделал число восьмеричным)
3axap4eHko
12.09.2016 23:1821 век а все еще ascii используете
0000010000010100 0000010001000000 0000010001000011 0000010000110111 0000010001001100 0000010001001111 00000000101100 00000000100000 0000010001000001 00000000100000 0000010000110100 0000010000111101 0000010001010001 0000010000111100 00000000100000 0000010000111111 0000010001000000 0000010000111110 0000010000110011 0000010001000000 0000010000110000 0000010000111100 0000010000111100 0000010000111000 0000010001000001 0000010001000010 0000010000110000 00000000100001
LookingAhead
13.09.2016 10:50там UTF-8, а не ASCII, а у вас UTF-16. поэтому всё в порядке, мы в 21 веке)
svboobnov
13.09.2016 01:49+1В 5 пункте (про
5. С# является первым компонентно-ориентированным языком программирования.
) брехня:
Платформа .NET (и её родной C#) опубликована в 2002 году,
см. .Net Framework
Язык «Компонентный Паскаль» опубликован в 1999 году,
см. Компонентный ПаскальPaulIsh
13.09.2016 02:50+1Более того,
Синтаксические конструкции нового языка в большинстве своем были позаимствованы из С++ (типы данных вроде структуры и перечисления) и из Visual Basic (использование свойств классов).
тоже на мой взгляд были позаимствованы именно из Delphi. Да и Аннерс Хейлсберг получил награду не за один C#, а за создание Turbo Pascal, Delphi и C#.
Schvepsss
13.09.2016 09:25Да, стоит уточнить, что это первый компонентно-ориентированный язык из семейства С. Спасибо!
ice2heart
Может 10 фактов об С#?
Schvepsss
Да, это и подразумевается. Как раз описано во втором факте.