Когда давным-давно после паскаля я стал изучать си, то все эти case для каждой ветки тоже казались громоздкими. А теперь вот думаю что это грамотное решение: каждая ветка начинается с конкретного ключевого слова, а не с фиг знает чего. Особенно с учетом того, что в аргументе case в принципе можно писать всякие навороченные выражения, важно четко выделять границы между аргументом case и телом блока.
Какой приятный синтаксис! Когда читаю про нововведения очередной версии C#, всегда радуюсь — все так просто и естественно, именно так как ожидаешь (хотя сам пишу в основном на С++).
code style то я могу сам выбирать. Экономия символов это мелочи. А неприятно то, что при вставке кода из другого источника (даже из другого места этого же файла) в середину существующего кода нарушается не просто красота, а целостность синтаксической структуры. И пока ее не восстановишь — ничего работать не будет. В форматно-свободных языках можно вставить код в любое место и затем просто запустить автоматический форматтер, который все выравняет так как надо. А можно и не выравнивать, пока не будет написан необходимый с точки зрения логики код.
С питоном нужно все делать вручную и каждый раз, потому что там выравнивание — часть синтаксиса языка.
Из популярных — нет, но судя по всему многие изучение программирования начинают с питона и это оказывает неизгладимый отпечаток. Например в Nim ввели такой же синтаксис, еще где-то видел. Возможно это действительно другая парадигма мышления — ну чтоже, пускай будут разные языки, время рассудит. Я для себя решил что в собственном языке программирования никаких невидимых отступов не будет, только старые добрые скобки :)
Возможно. Но мне идея форматно-несвободного языка как таковая не нравится. На питоне не пишу вообще, но иногда приходится наталкиваться на какие-то экзотические вещи, в которых от случайно поставленного не там пробела или табуляции, или табуляции вместо пробелов что-то ломается и не поймешь где.
Я в курсе:)
У меня есть мысль, что с увеличением продолжительности и качества жизни люди как-бы больше задерживаются в более молодом состоянии. Позже взрослеют, позже стареют — в первую очередь психологически. Поэтому я возлагаю огромные надежды на технологии биологического омоложения.
Ну а как еще изучать что-то? Пока не попробуешь сам написать — не поймешь.
Я помню, в институте была курсовая, писали эмулятор процессора (правда регистровый). Сразу с GUI, чтобы отображались все регистры, память команд и данных, стек.
А в реальной практике был проект, когда писал виртуальную машину (эмуляция процессора, памяти и доступ к периферии), работающую внутри микроконтроллера, и компилятор с языка высокого уровня для этого виртуального процессора. Представляете, какое это удовольствие — написать
программу на собственном языке программирования в собственной среде разработки, скомпилировать собственным компилятором и запустить на собственном процессоре в реальном железе!
Полностью согласен с grozaman.
А теперь предположу почему ставят минусы. У человека есть биологическая программа для каждого возраста. И для каждого возраста естественно проецировать это состояние на всех остальных.
Так, в ранней молодости еще не хочется заводить детей. У тех же кто постарше и уже завели детей, программа другая — им кажется непостижимым, как-же так жить вечно и не заводить детей.
Поэтому для регуляции численности населения лучше сдвинуть «средний возраст» на еще более молодое состояние, не 23-28, а 15-20 лет. Опыт и знания реального возраста будут прекрасно сочетаться с гормональным фоном и пластичностью мозга, присущим этому биохимическому возрасту.
В первую очередь нужно исследовать технологии продления жизни, подлинного клеточного омоложения, и заодно борьбы с раком и прочими заболеваниями, вызываемыми сбоями в клетках.
В любом случае они молодцы. Приятно когда богатые люди вкладывают свои деньги в науку, а не в футбольные клубы.
Я вот не понимаю — зачем делать новый дизайн? Старый был вполне юзабелен. Да и предыдущий перед старым тоже вполне юзабелен. Но старые хотя-бы работали. А этот…
У меня заголовки сломались, не отображаются вообще, и судя по сообщениям этой темы не только у меня. Раньше такое было на сайте журнала хакер, а теперь еще и на хабре. Что делать будете?
Отсутствие модульности, которую пытались ввести в C++17 но так и не ввели.
Инклуды это древнее и крайне примитивное средство имитации модульности. Каждый инклуд полностью включается в файл перед компиляцией. Таким образом, время сборки проекта резко увеличивается по сравнению с другими языками, в которых модульность есть.
Всякие precompiled headers это по сути костыли.
Шаблоны также существуют только в инклудах, их невозможно экспортировать в бинарные библиотеки.
Интересная статья, люблю такие обсуждения, хоть и не могу с большей частью доводов согласиться. Основные проблемы дизайна С++ — это инклуды и препроцессор, а также использование шаблонов для метапрограммирования. Еще можно отметить то, что имя массива эквивалентно адресу первого элемента массива, что делает массивы «не-объектами» из-за экономии лишнего символа & (унифицированное взятие адреса).
А что касается цикла for, то тут интересно вот что. Существует два «фундаментальных» способа доступа к коллекциям — последовательный и произвольный. Для произвольного существует общепринятая операция — квадратные скобки (индексация массивов и позже доступ к элементам ассоциативного массива). А для последовательного доступа такой операции нет. Обычно делают какой-то интерфейс итератора с методами типа First(), Next(), IsEnd() и т.п. (причем во всех языках они называются по-разному и логика работы немного разная). А хотелось бы придумать что-то общепринятое и в виде операции, а не методов интерфейса. И вообще максимально упростить этот аспект языка.
А оно реально работает? Нет, я конечно скачаю и попробую, но что-то мне кажется что если прижать палец к объективу камеры, то камера ничего кроме темноты не увидит:)
И это вроде измеритель пульса?, а хочется именно график как на кардиограмме.
Я имел в виду скорее максимально простое и дешевое, но аппаратное решение. Хабраюзеры--любители всяких гаждетов и электроники наверняка ориентируются на алиэкспрессе и подобных сайтах лучше меня, может чего видели…
А кто нибудь знает какой-нибудь самый дешевый (китайский?) кардиограф, без наворотов типа «чехла для айфона», а просто чтобы к компу подключался по любому интерфейсу (скорее всего usb?) и софтом мерял кардиограмму? Или может быть какой-то электронный стетоскоп (с микрофоном внутри), который можно воткнуть в звуковую карту и тоже с помощью софта увидеть пульсации сердца в виде графика на экране. Интересует просто поиграться (ну и чтобы было на всякий случай), т.е. самое дешевое, чтобы заказать было не жалко.
А вот интересно, проанализировав такое количество кода, не приходили ли вам в голову какие-то идеи что можно улучшить и/или исправить в С/С++ (в том числе с нарушением обратной совместимости), или что можно было бы сделать изначально по-другому, чтобы различных ошибок было меньше?
Я вообще с web и в особенности js фреймворками дела не имел никогда, но интересно.
С питоном нужно все делать вручную и каждый раз, потому что там выравнивание — часть синтаксиса языка.
У меня есть мысль, что с увеличением продолжительности и качества жизни люди как-бы больше задерживаются в более молодом состоянии. Позже взрослеют, позже стареют — в первую очередь психологически. Поэтому я возлагаю огромные надежды на технологии биологического омоложения.
Я помню, в институте была курсовая, писали эмулятор процессора (правда регистровый). Сразу с GUI, чтобы отображались все регистры, память команд и данных, стек.
А в реальной практике был проект, когда писал виртуальную машину (эмуляция процессора, памяти и доступ к периферии), работающую внутри микроконтроллера, и компилятор с языка высокого уровня для этого виртуального процессора. Представляете, какое это удовольствие — написать
программу на собственном языке программирования в собственной среде разработки, скомпилировать собственным компилятором и запустить на собственном процессоре в реальном железе!
А теперь предположу почему ставят минусы. У человека есть биологическая программа для каждого возраста. И для каждого возраста естественно проецировать это состояние на всех остальных.
Так, в ранней молодости еще не хочется заводить детей. У тех же кто постарше и уже завели детей, программа другая — им кажется непостижимым, как-же так жить вечно и не заводить детей.
Поэтому для регуляции численности населения лучше сдвинуть «средний возраст» на еще более молодое состояние, не 23-28, а 15-20 лет. Опыт и знания реального возраста будут прекрасно сочетаться с гормональным фоном и пластичностью мозга, присущим этому биохимическому возрасту.
В любом случае они молодцы. Приятно когда богатые люди вкладывают свои деньги в науку, а не в футбольные клубы.
У меня заголовки сломались, не отображаются вообще, и судя по сообщениям этой темы не только у меня. Раньше такое было на сайте журнала хакер, а теперь еще и на хабре. Что делать будете?
Инклуды это древнее и крайне примитивное средство имитации модульности. Каждый инклуд полностью включается в файл перед компиляцией. Таким образом, время сборки проекта резко увеличивается по сравнению с другими языками, в которых модульность есть.
Всякие precompiled headers это по сути костыли.
Шаблоны также существуют только в инклудах, их невозможно экспортировать в бинарные библиотеки.
А что касается цикла for, то тут интересно вот что. Существует два «фундаментальных» способа доступа к коллекциям — последовательный и произвольный. Для произвольного существует общепринятая операция — квадратные скобки (индексация массивов и позже доступ к элементам ассоциативного массива). А для последовательного доступа такой операции нет. Обычно делают какой-то интерфейс итератора с методами типа First(), Next(), IsEnd() и т.п. (причем во всех языках они называются по-разному и логика работы немного разная). А хотелось бы придумать что-то общепринятое и в виде операции, а не методов интерфейса. И вообще максимально упростить этот аспект языка.
И это вроде измеритель пульса?, а хочется именно график как на кардиограмме.
Я имел в виду скорее максимально простое и дешевое, но аппаратное решение. Хабраюзеры--любители всяких гаждетов и электроники наверняка ориентируются на алиэкспрессе и подобных сайтах лучше меня, может чего видели…