За нелогичностью - к JavaScript, а в С/С++ не нелогичность, а бесконтрольность. И это оборотная сторона высокой производительности кода написанного на C/C++.
А на C# ни ядра операционных систем, ни автопилоты не пишут. И потому производительностью не заморачиваются.
Другие языки программирования и технологии
В C++ можно творить нелогичные вещи? а вот в С# нельзя
Мейерс - "Проектируйте интерфейсы так, что их легко было использовать правильно и трудно – неправильно."
----
в c++ единственный путь писать правильно - знать и понимать стандарт, защиты от дурака нет. Пока сам не наступишь на все грабли и не найдешь на каждые из них свой пунктик в стандарте и не вызубришь как надо писать, а как нет, программистом не стать
----
в c++ единственный путь писать правильно - знать и понимать стандарт, защиты от дурака нет. Пока сам не наступишь на все грабли и не найдешь на каждые из них свой пунктик в стандарте и не вызубришь как надо писать, а как нет, программистом не стать
Anwar Arefy
Я буду стараться
C: Вы простреливаете себе ногу.
C++: Вы случайно создаете дюжину копий объекта «вы» и всем им простреливаете ногу. Срочная медицинская помощь оказывается невозможной, так как вы не можете разобраться, где настоящие копии, а где — те, что только указывают на них и говорят: «А вот он я!»
Java: После импорта java.awt.right.foot.* и java.awt.gun.right.hand.* и написания классов и методов, необходимых для этих классов, вы забываете, что вы, чёрт возьми, хотели сделать.
C#: Вы пытаетесь прострелить себе ногу, но осознаете, что для этого вам нужен 5 диск MSDN с хелпом и Visual Studio .NET… и в любом случае решетка C# не дает прострелить вам ногу, так как тот код, который вы пишете для Mono, Microsoft уже запатентовала.
SQL: INSERT INTO нога (ступня) SELECT патроны AS пуля FROM пистолет WHERE курок = 'СПУЩЕН'; COMMIT;
SQL v2: SELECT @ammo:=bullet FROM gun WHERE trigger = ‘PULLED’; INSERT INTO leg (foot) VALUES (@ammo);
Delphi: Вы залезаете на форумы и слезно умоляете дать вам компонент для прострела ноги. После компиляции нога опухает, и её масса превышает массу тела.
JavaScript: Вы прочитали 3 книги, изучили 10 наглядных примеров, разработали потрясающий интерфейс и теперь, кажется, готовы к тому, чтобы выстрелить себе в ногу. Потом в процессе стрельбы обнаруживаете, что пули имеют радиус действия, равный длине ствола, и испаряются прямо на выходе.
CSS: Переложив пистолет в левую руку, вы понимаете, что держите его не за рукоять, а за дуло. Вы переворачиваете его и понимаете, что теперь он смотрит стволом в сторону вашей головы. Ещё немного изменив стили, вы понимаете, что всё теперь как надо, но только он находится на 15 пикселей левее вашей руки.
node.JS: Вы начинаете асинхронно стрелять из асинхронных рук в асинхронные ноги, асинхронно не попадаете и запутываетесь в этой каше.
Objective-C/Cocoa: Вы строите стильный интерфейс, соответствующий всем канонам Apple. Вы два раза копируете и ногу, и пистолет, чтобы они работали под архитектурами как Intel, так и PowerPC. Вы удостоверяетесь, что пистолет можно зарядить с помощью всего одного клика мышкой. Когда всё уже готово, вы понимаете, что при нажатии на спуск пистолет не стреляет. Перебрав весь код вашей программы, вы обнаруживаете, что забыли указать, что графический объект спускового крючка — и есть спусковой крючок.
Ruby: Ваша нога готова к выстрелу примерно через пять минут, но вы не можете найти места, где можно стрелять.
PHP: Вы стреляете себе в ногу из пистолета, сделанного из частей 300 других пистолетов.
ASP.NET: Вы находите пистолет, но он разваливается. Вы его собираете, но он снова разваливается. Вы пытаетесь использовать платформу .GUN, но она разваливается. Вы режете себе ногу.
Perl: Вы стреляете себе в ногу, и никто не может понять, как вы сделали это. Через шесть месяцев не можете и вы.
Erlang: Вы описываете поведение стреляющего устройства, создаете десяток устройств от арбалета до КПВТ на его основе, одновременно стреляющее из тысячи разных мест и позволяющее горячую замену пуль прямо во время стрельбы. После поражения ноги она умирает и каскадно уносит с собой все тело. Супервизор отращивает новое тело с непораженной ногой. Вы офигеваете, что после такого залпа нога все еще целая, а также от блевотного Tk-интерфейса appmon, через который просматриваете состояние ноги.
FORTRAN: Итеративно вы простреливаете каждый палец ноги, а когда пальцы заканчиваются, загружаете следующую ногу и продолжаете. Когда пули заканчиваются, а пальцы давно потеряли всякое сходство с пальцами, вы все равно продолжаете попытки прострелить себе ноги, потому что не имеете возможности обрабатывать исключения.
Modula2: Поняв, что с помощью этого языка ничего толком сделать нельзя, вы простреливаете себе голову.
Pascal: Компилятор не позволит вам прострелить себе ногу.
Rust: Вы покупаете пистолет,
C++: Вы случайно создаете дюжину копий объекта «вы» и всем им простреливаете ногу. Срочная медицинская помощь оказывается невозможной, так как вы не можете разобраться, где настоящие копии, а где — те, что только указывают на них и говорят: «А вот он я!»
Java: После импорта java.awt.right.foot.* и java.awt.gun.right.hand.* и написания классов и методов, необходимых для этих классов, вы забываете, что вы, чёрт возьми, хотели сделать.
C#: Вы пытаетесь прострелить себе ногу, но осознаете, что для этого вам нужен 5 диск MSDN с хелпом и Visual Studio .NET… и в любом случае решетка C# не дает прострелить вам ногу, так как тот код, который вы пишете для Mono, Microsoft уже запатентовала.
SQL: INSERT INTO нога (ступня) SELECT патроны AS пуля FROM пистолет WHERE курок = 'СПУЩЕН'; COMMIT;
SQL v2: SELECT @ammo:=bullet FROM gun WHERE trigger = ‘PULLED’; INSERT INTO leg (foot) VALUES (@ammo);
Delphi: Вы залезаете на форумы и слезно умоляете дать вам компонент для прострела ноги. После компиляции нога опухает, и её масса превышает массу тела.
JavaScript: Вы прочитали 3 книги, изучили 10 наглядных примеров, разработали потрясающий интерфейс и теперь, кажется, готовы к тому, чтобы выстрелить себе в ногу. Потом в процессе стрельбы обнаруживаете, что пули имеют радиус действия, равный длине ствола, и испаряются прямо на выходе.
CSS: Переложив пистолет в левую руку, вы понимаете, что держите его не за рукоять, а за дуло. Вы переворачиваете его и понимаете, что теперь он смотрит стволом в сторону вашей головы. Ещё немного изменив стили, вы понимаете, что всё теперь как надо, но только он находится на 15 пикселей левее вашей руки.
node.JS: Вы начинаете асинхронно стрелять из асинхронных рук в асинхронные ноги, асинхронно не попадаете и запутываетесь в этой каше.
Objective-C/Cocoa: Вы строите стильный интерфейс, соответствующий всем канонам Apple. Вы два раза копируете и ногу, и пистолет, чтобы они работали под архитектурами как Intel, так и PowerPC. Вы удостоверяетесь, что пистолет можно зарядить с помощью всего одного клика мышкой. Когда всё уже готово, вы понимаете, что при нажатии на спуск пистолет не стреляет. Перебрав весь код вашей программы, вы обнаруживаете, что забыли указать, что графический объект спускового крючка — и есть спусковой крючок.
Ruby: Ваша нога готова к выстрелу примерно через пять минут, но вы не можете найти места, где можно стрелять.
PHP: Вы стреляете себе в ногу из пистолета, сделанного из частей 300 других пистолетов.
ASP.NET: Вы находите пистолет, но он разваливается. Вы его собираете, но он снова разваливается. Вы пытаетесь использовать платформу .GUN, но она разваливается. Вы режете себе ногу.
Perl: Вы стреляете себе в ногу, и никто не может понять, как вы сделали это. Через шесть месяцев не можете и вы.
Erlang: Вы описываете поведение стреляющего устройства, создаете десяток устройств от арбалета до КПВТ на его основе, одновременно стреляющее из тысячи разных мест и позволяющее горячую замену пуль прямо во время стрельбы. После поражения ноги она умирает и каскадно уносит с собой все тело. Супервизор отращивает новое тело с непораженной ногой. Вы офигеваете, что после такого залпа нога все еще целая, а также от блевотного Tk-интерфейса appmon, через который просматриваете состояние ноги.
FORTRAN: Итеративно вы простреливаете каждый палец ноги, а когда пальцы заканчиваются, загружаете следующую ногу и продолжаете. Когда пули заканчиваются, а пальцы давно потеряли всякое сходство с пальцами, вы все равно продолжаете попытки прострелить себе ноги, потому что не имеете возможности обрабатывать исключения.
Modula2: Поняв, что с помощью этого языка ничего толком сделать нельзя, вы простреливаете себе голову.
Pascal: Компилятор не позволит вам прострелить себе ногу.
Rust: Вы покупаете пистолет,
Anwar Arefy
Прикольно
Anwar Arefy
Мне кажеться или про Rust не до конца написали
Нелогичными они являются на тех порах, когда ты не понимаешь, как работает язык и компилятор
Так как любой процессор подчиняется логике, выполнить что-то нелогичное на уровне вычислений не представляется возможным. Все обусловлено теорией автоматов
Anwar Arefy
Ну Например: В C++ можно не заходить в команту и брать вещь, а сразу взять вещь не заходя, компелятор даже ругаться не будет, тоесть он не тебя не булет останавливать.
Типо так говорят
Типо так говорят
Сисярп пережиток прошлого
Pavel Qqqqq
Хочется в это верить, какой-то кривой обрубок Си++
Pavel Qqqqq
Не переношу языки, навязывающие ООП
Похожие вопросы
- Прочитал в книге, что есть вещи которые можно сделать на C++ и нельзя на C#. Что они из себя представляют?
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Помогите срочно C#
- Помогите исправить ошибку в программе (c++).
- Зачем нужен C++, если есть C?
- Ещё тупой вопрос по C++ :)
- Проверти правильность программы на C++
- Почему многие отдают предпочтение C++ а не C# ?
- Учу C++! Уже знаю: типы данных, циклы. условия, привидения и т. д учу 5дней. вот программа! Как норм за 5 дней?
- Что такое C++/CLI ?
Это называеться бесконтрольность?
Я слышал что Tesla c# Использует, а там же автопилот