Pull to refresh
54
0.4
Ariel VA Feinerman @arielf

Researcher, author and translator

Send message

Можете пойти. Или вам нужно разрешение?

"магистратуру по инженерии" - а можно пример?

Можно. Программная инженерия (Software Engineering).

Магистратура по математике или информатике не считается?

Считается, но они больше заточены на науку.

Имена должны быть не как в LinkedIn, а как в паспорте

В паспорте какой страны? Если человек живёт в Израиле, его имя на иврите писать?

Ещё в статье восхищает использование доисторической терминологии "посылка сообщения" вместо современной "вызов метода".

Ну что за чушь! Посылка сообщений и вызов методов – принципиально разные вещи!

Сообщение – это объект, состоящий из текстовой строки (имени сообщения) и возможного списка аргументов.

Метод – это объект, реализующий некоторую функциональность, проще говоря функция, привязанная к объекту.

Посылка сообщения – это способ коммуникации объектов. Объект, получивший сообщение, сам решает, как ему поступить с ним. Он может (1) ничего не ответить, (2) вызвать метод, соответствующий имени сообщения, (3) выбросить исключение или (4) переслать сообщение иному объекту.

Вызов метода – это вызов некоторой функции, привязанной к объекту, и передача ей возможных аргументов, вот и всё. Так что вызов метода – это лишь один из многих возможных способов реакции объекта на полученное сообщение.

Механизм сообщений является неотъемлемой частью ООП, но используется и вне его. Например, все распределённые системы параллельных вычислений (MPI) используют посылку сообщений. Поскольку сообщение – это текстовая строка и список аргументов, его можно послать по сети. Вызвать функцию или метод по сети нельзя (если вы не знали). Межпроцессные коммуникации (IPC) также используют механизм сообщений. Ибо вызвать функцию или метод из иного процесса тоже нельзя.

Так что в жизни вы постоянно используете сообщения, просто не знаете это, как и многие иные вещи.

И ни в каком языке программирования для вызова методов сообщения не посылаются.

Вы так пишите, словно Smalltalk исчез. Он живёт и используется в промышленном программировании. Не в РФ, конечно. Из более новых языков сообщения используются в Ruby.

Ну, с определëнными допущениями, условиями и расширениями, тьюринг-машину можно собрать теоретически на чëм угодно.

Щито? Это математика, в ней теорема или верна, или не верна. Она не может быть верна наполовину. Язык или тьюринг-полный, или не трьюринг-полный. Если его семантика эквивалентна машине Тьюрига, он тьюринг-полный.

Ну это же синтаксический сахар. Они реализованы поверх прототипов.

Почему не упомянуты прототипные языки Self и JavaScript, в которых нет классов? И вообще, классы не являются непременным атрибутом ООП.

І тут у мене підгоріло!

И очередное неправомерное приписывание изобретения современного ООП Алану Кею.

Более чем правомерное. Именно Алан Кэй впервые сформулировал концепцию современного ООП и употребил это выражение.

То ООП которое мы знаем было реализовано в С++ Страуструпом, далее распространилась по остальным языкам: Java, C# и т.п..

Вот это вообще хтоническая чушь! Вы учили программирование на говнокурсах? То ООП, которое вы знаете -- это не ООП, а абстрактные типы данных. Многие их путают -- и это неправильно. ООП -- это объекты и обмен сообщениями.

Впервые же объектные принципы (объекты, классы, наследование и иные вещи) были реализованы в 1961 - 1967 в языке Simula. Это самая ранняя реализация некоторых концепций ООП.

Страуструп не изобрел ООП, он взял его из Simula. И ООП в C++ является набором костылей, прикрученных поверх C, и нужных, чтобы улучшить скорость выполнения. Нормальная реализация ООП поверх C есть в Objective-C.

Но вернёмся к истинному ООП. Гений Алан Кэй, посмотрев на Simula, понял, что можно сделать ещё лучше. И в 1967 впервые сформулировал концепцию современного ООП и, что принципиально, употребил это выражение в разговоре. Так что именно он является отцом современного ООП.

Первый язык, реализующий современное ООП вышел в 1972, и это был Smalltalk. Он вполне жив и применяется в промышленном программировании.

Имею некоторое мнение. Курсы, которые учат с нуля -- не нужны. Программирование -- это сложная инженерия, и ей нельзя научиться на курсах. Ну то есть нельзя быть барменом, и внезапно через несколько месяцев стать инженером.

Чтобы стать хорошим программистом нужно иметь бакалавриат по математике или информатике и магистратуру по инженерии. Поэтому курсы нужны иные -- по конкретным технологиям, чтобы инженеры, выпускники вузов, имеющие теоретические знания, изучили конкретные технологии, применяемые в промышленном программировании.

Программист -- это инженер, пилот -- это пользователь. После курсов нельзя стать инженером, нужно естественнонаучное или инженерное образование, а не курсы в несколько месяцев.

Ну, вообще ничего такого. Если учёный не живёт в РФ и не работает в РФ, то он уже и не российский. Было бы весьма странно отказывать учёному лишь по цвету его паспорта. Этим грешат лишь несколько истеричных европейских стран. Причём именно тех, через которые российские чиновники ввозят и вывозят санкционные товары.

Как сказал умный человек: "Санкции нам только на пользу. Но раз они не работают, то и пользы нет."

Занимаюсь олимпиадной программированием

Вот человек, казалось бы, умными вещами занимается, а такую чушь пишет.

Какой язык программирования учить, чтобы работать с нейросетями? И, как не крути, ответ один - это Python. Хотите ли вы или нет, любите ли вы его или ненавидите, но это ничего не изменит, так как в нейросетях Python - царь горы, на нем здесь работает все!

Нет, не все! Мы будем писать на том, что нам нравится. Python поощряет писать ужасные программы. Виной этому низкий порог. На C или C++ вы не напишете программу, если вы не знаете язык хорошо и не разбираетесь в программировании. Ибо она у вас просто не запустится. Чтобы писать программы на C / C++ вам нужно много знать.

К счастью, физики в основном всё ещё пишут на Fortran. Но многие биологи и и биоинформатики, увы, пишут на Python. Поэтому мы имеем кучи ужасно написанных бибилиотек, написанных учёными, не умеющими программировать, не понимающими ничего в программировании.

Итак, для разработки ПО смело учите JavaScript, он и популярен и эффективен, и отрицать это было бы очень глупо.

Oh, boy, here we go! Как вообще можно написать серьёзную программу типа научных программ, фото-, видео-, аудиоредакторов и компьютерных игр на JavaScript? Ещё есть и системное программирование! Похоже, что он считает, что разработка ПО ограничивается вебом и ботами.

Самый красивый язык -- японский. Но вот учить три системы письменности не легко.

Раз уж вы по это пишете, не моли бы сказать, как там с рентгеновскими лазерами?

История знает тысячи примеров, когда изучение чего-то заходило вникуда. И, в лучшем случае, об этом просто забывали. А в страшных случаях у нас появлялось кровопускание и лоботомия.

Вот это вообще к чему? Изучение будущего Вселенной вызовет новые войны?

(И кровопускание было вполне нормальной помощью при гипертоническом кризе или инсульте. Ибо как ещё резко снизить артериальное давление у пациента?)

В то время, когда на планете есть насущные неизученые проблемы?

Ну конечно, новая версия PHP намного интереснее, чем будущее Земли. Был о вас лучшего мнения, и не ожидал от вас такого коммента.

В статье указано, что орбиты планет увеличатся. Ни каких "заметно" там нет. И мы не знаем ещё насколько именно они увеличатся. Но мы знаем, что температура и размеры Солнца увеличатся. И притом сильно.

Ну, примерно. В верхних слоях атмосферы звезды.

Какова ценность теории струн? Если даже приближённые уравнения мы не можем решить? Но ей занимаются тысячи учёных! Ценность науки в лучшем понимании Вселенной! Потому, что это просто интересно.

Information

Rating
1,637-th
Registered
Activity