Все-же жалко что нет Нобелевских премий по математике и информатике. Да, есть другие… но вот именно Нобелевских нет. Экономику же тоже позже добавили.
И еще в статье не раскрыто, что с премиями мира и по литературе?
Ну так нейросеть же, вот пускай и учится переводить художественно. А официальные документы написаны бюрократическим языком (причем чем круче лавочка тем заковыристее бюрократический язык), поэтому в повседневном переводе малополезны.
А зачем ограничиваться официальными документами ООН и Европарламета, если есть огромная библиотека Google books, в которой наверняка есть немало книг переведенных профессиональными переводчиками на разные языки?
Исключения это интересная тема. Если где-то в недрах кода (возможно даже в сторонней библиотеке) возникла недопустимая ситуация — например невозможность выделить память — то нужно предпринять какие-то действия. По идее, это может быть и код ошибки, и исключение, и даже аварийное завершение работы всей программы. Но что именно?
В какой-то момент мне пришла в голову мысль, что в языке программирования должна существовать некоторая конструкция, определяющая «ошибочную ситуацию». Нечто среднее между «return кода_ошибки» и «throw исключения». То есть библиотека говорит «у меня произошла ошибка», а как именно она должна быть обработана — это вопрос вызывающего кода. Ведь даже обработка исключений может быть разной (SEH, DWARF, SJLJ). В конце концов, код возврата — это тоже способ организации исключений, особенно если компилятор возьмет на себя часть этой работы (очевидно что для этого потребуется сказать компилятору какие коды означают ошибки и обеспечить тип возврата всех функций, участвующих в этой системе).
То что любая функция может внезапно выкинуть любое исключение (как в С++) — это плохо и по сути является аналогом goto. Реализация в Java (с явным указанием исключений которые могут быть выброшены) лучше (именно тем что там исключения указываются явно). Но можно пойти еще дальше.
В некотором роде исключения — это модуль языковой функциональности (как RTTI в C++, отключаемую опцией компиляции). В определенных случаях (например программирование под микроконтроллеры с малым объемом памяти) исключения целесообразно отключать вообще, переводя весь код на самую простую реализацию — кодами возврата. При этом хотелось бы, чтобы библиотеки были общие (т.е. не держать отдельные наборы библиотек для каждой реализации исключений).
Ну конечно «возможно», я просто не написал это слово. На самом деле все что обсуждается в этой теме — это область предположений, здесь ни в чем нельзя быть уверенным на 100%.
Параллели с колонизацией Америки все-же некорректны. Марс это другая планета, там нет воздуха, моря, леса и прочей естественной природы. Поэтому человек жить там постоянно не сможет просто по психологическим причинам — по сути это жизнь в искусственном замкнутом пространстве. Возможно если там родятся дети и они не будут знать о природе Земли, то они смогут — но у них будет совсем другая психика, и быть может, они уже на Земле не смогут жить комфортно.
Когда давным-давно после паскаля я стал изучать си, то все эти case для каждой ветки тоже казались громоздкими. А теперь вот думаю что это грамотное решение: каждая ветка начинается с конкретного ключевого слова, а не с фиг знает чего. Особенно с учетом того, что в аргументе case в принципе можно писать всякие навороченные выражения, важно четко выделять границы между аргументом case и телом блока.
Какой приятный синтаксис! Когда читаю про нововведения очередной версии C#, всегда радуюсь — все так просто и естественно, именно так как ожидаешь (хотя сам пишу в основном на С++).
code style то я могу сам выбирать. Экономия символов это мелочи. А неприятно то, что при вставке кода из другого источника (даже из другого места этого же файла) в середину существующего кода нарушается не просто красота, а целостность синтаксической структуры. И пока ее не восстановишь — ничего работать не будет. В форматно-свободных языках можно вставить код в любое место и затем просто запустить автоматический форматтер, который все выравняет так как надо. А можно и не выравнивать, пока не будет написан необходимый с точки зрения логики код.
С питоном нужно все делать вручную и каждый раз, потому что там выравнивание — часть синтаксиса языка.
Из популярных — нет, но судя по всему многие изучение программирования начинают с питона и это оказывает неизгладимый отпечаток. Например в Nim ввели такой же синтаксис, еще где-то видел. Возможно это действительно другая парадигма мышления — ну чтоже, пускай будут разные языки, время рассудит. Я для себя решил что в собственном языке программирования никаких невидимых отступов не будет, только старые добрые скобки :)
Возможно. Но мне идея форматно-несвободного языка как таковая не нравится. На питоне не пишу вообще, но иногда приходится наталкиваться на какие-то экзотические вещи, в которых от случайно поставленного не там пробела или табуляции, или табуляции вместо пробелов что-то ломается и не поймешь где.
Я в курсе:)
У меня есть мысль, что с увеличением продолжительности и качества жизни люди как-бы больше задерживаются в более молодом состоянии. Позже взрослеют, позже стареют — в первую очередь психологически. Поэтому я возлагаю огромные надежды на технологии биологического омоложения.
Ну а как еще изучать что-то? Пока не попробуешь сам написать — не поймешь.
Я помню, в институте была курсовая, писали эмулятор процессора (правда регистровый). Сразу с GUI, чтобы отображались все регистры, память команд и данных, стек.
А в реальной практике был проект, когда писал виртуальную машину (эмуляция процессора, памяти и доступ к периферии), работающую внутри микроконтроллера, и компилятор с языка высокого уровня для этого виртуального процессора. Представляете, какое это удовольствие — написать
программу на собственном языке программирования в собственной среде разработки, скомпилировать собственным компилятором и запустить на собственном процессоре в реальном железе!
Полностью согласен с grozaman.
А теперь предположу почему ставят минусы. У человека есть биологическая программа для каждого возраста. И для каждого возраста естественно проецировать это состояние на всех остальных.
Так, в ранней молодости еще не хочется заводить детей. У тех же кто постарше и уже завели детей, программа другая — им кажется непостижимым, как-же так жить вечно и не заводить детей.
Поэтому для регуляции численности населения лучше сдвинуть «средний возраст» на еще более молодое состояние, не 23-28, а 15-20 лет. Опыт и знания реального возраста будут прекрасно сочетаться с гормональным фоном и пластичностью мозга, присущим этому биохимическому возрасту.
В первую очередь нужно исследовать технологии продления жизни, подлинного клеточного омоложения, и заодно борьбы с раком и прочими заболеваниями, вызываемыми сбоями в клетках.
В любом случае они молодцы. Приятно когда богатые люди вкладывают свои деньги в науку, а не в футбольные клубы.
И еще в статье не раскрыто, что с премиями мира и по литературе?
В какой-то момент мне пришла в голову мысль, что в языке программирования должна существовать некоторая конструкция, определяющая «ошибочную ситуацию». Нечто среднее между «return кода_ошибки» и «throw исключения». То есть библиотека говорит «у меня произошла ошибка», а как именно она должна быть обработана — это вопрос вызывающего кода. Ведь даже обработка исключений может быть разной (SEH, DWARF, SJLJ). В конце концов, код возврата — это тоже способ организации исключений, особенно если компилятор возьмет на себя часть этой работы (очевидно что для этого потребуется сказать компилятору какие коды означают ошибки и обеспечить тип возврата всех функций, участвующих в этой системе).
То что любая функция может внезапно выкинуть любое исключение (как в С++) — это плохо и по сути является аналогом goto. Реализация в Java (с явным указанием исключений которые могут быть выброшены) лучше (именно тем что там исключения указываются явно). Но можно пойти еще дальше.
В некотором роде исключения — это модуль языковой функциональности (как RTTI в C++, отключаемую опцией компиляции). В определенных случаях (например программирование под микроконтроллеры с малым объемом памяти) исключения целесообразно отключать вообще, переводя весь код на самую простую реализацию — кодами возврата. При этом хотелось бы, чтобы библиотеки были общие (т.е. не держать отдельные наборы библиотек для каждой реализации исключений).
Я вообще с web и в особенности js фреймворками дела не имел никогда, но интересно.
С питоном нужно все делать вручную и каждый раз, потому что там выравнивание — часть синтаксиса языка.
У меня есть мысль, что с увеличением продолжительности и качества жизни люди как-бы больше задерживаются в более молодом состоянии. Позже взрослеют, позже стареют — в первую очередь психологически. Поэтому я возлагаю огромные надежды на технологии биологического омоложения.
Я помню, в институте была курсовая, писали эмулятор процессора (правда регистровый). Сразу с GUI, чтобы отображались все регистры, память команд и данных, стек.
А в реальной практике был проект, когда писал виртуальную машину (эмуляция процессора, памяти и доступ к периферии), работающую внутри микроконтроллера, и компилятор с языка высокого уровня для этого виртуального процессора. Представляете, какое это удовольствие — написать
программу на собственном языке программирования в собственной среде разработки, скомпилировать собственным компилятором и запустить на собственном процессоре в реальном железе!
А теперь предположу почему ставят минусы. У человека есть биологическая программа для каждого возраста. И для каждого возраста естественно проецировать это состояние на всех остальных.
Так, в ранней молодости еще не хочется заводить детей. У тех же кто постарше и уже завели детей, программа другая — им кажется непостижимым, как-же так жить вечно и не заводить детей.
Поэтому для регуляции численности населения лучше сдвинуть «средний возраст» на еще более молодое состояние, не 23-28, а 15-20 лет. Опыт и знания реального возраста будут прекрасно сочетаться с гормональным фоном и пластичностью мозга, присущим этому биохимическому возрасту.
В любом случае они молодцы. Приятно когда богатые люди вкладывают свои деньги в науку, а не в футбольные клубы.