История изменений
Исправление byko3y, (текущая версия) :
Чем Раст лучше Ада?
Тем, что он чуть меньше сношает мозг. Наверняка, Аду делали люди, которые соображали в программировании, но в какие-то моменты времени в дело вмешивались коммитеты, из-за чего в аде есть проблемы с целостностью архитектуры и чрезмерным нагромождением фич. Чем руководствовали коммитеты я могу понять: язык должен дать безупречную надежность и неплохую читаемость, а трудности написания уже никого не волнуют. Но они переборщили. Точно так же, как Гвидо переборщил с читаемостью, они принесли в жертву безопасности очень много, и в итоге писание прог на аде стало пыткой, из-за чего вы можете найти так мало людей, которые пишут любительские проекты на аде — слишком уж сильно он сношает мозг писателя. У тебя проект чуть больше hello world, и привет - вот вам вывод двух переменных на консоль:
with Ada.Text_IO;
procedure Operator_Power is
A : constant Float := 5.0 ** 2; -- A is now 25.0
B : constant Integer := 5 ** 2; -- B is also 25
package T_IO renames Ada.Text_IO;
package F_IO is new Ada.Text_IO.Float_IO (Float);
package I_IO is new Ada.Text_IO.Integer_IO (Integer);
begin
T_IO.Put ("A = ");
F_IO.Put (
Item => A,
Fore => 3,
Aft => 1,
Exp => 0);
T_IO.New_Line;
T_IO.Put ("B = ");
I_IO.Put (
Item => B,
Width => 3,
Base => 10);
T_IO.New_Line;
end Operator_Power;
По этой причине так мало людей, которые знают Аду, а те, кто потратили время, чтобы научиться на ней писать, ведут себя как мать ребенка: не могут признаться «да, я родила дебила, бывает; в следующий раз получится получше» - нет, она будет говорить «мой сынишка особенный, он альтернативно одаренный, дети разные бывают, я бы не променяла на другого; вот у других дети бегают и шалят, а мой сидит спокойно и пускает слюни». Примерно та же история с людьми, которые осилили монады в хаскеле — цитирую слова одного довольно известного персонажа:
https://avva.livejournal.com/1516071.html
Монады объективно тяжело понять. Их тяжело понять не только потому, что это «новый» тип мышления - функциональное программирование - но и вообще, просто, с объективной интеллектуальной точки зрения их тяжело понять. Они требуют намного больше абстрактного и типично-математического мышления, чем сложные возможности в любых других известных мне языках. А меж тем в Хаскеле даже строку на вывод не послать без монад (ну, можно, конечно, это делать, не понимая, как это работает, но это ж неинтересно)...
Попросту говоря, не является ли энтузиазм по поводу Хаскеля и монад в определённой мере интеллектуальной мастурбацией, когда те, кто «проникся», радуются тому, как это умно и глубоко, и какие они крутые, что хорошо это понимают?
Исправление byko3y, :
Чем Раст лучше Ада?
Тем, что он чуть меньше сношает мозг. Наверняка, Аду делали люди, которые соображали в программировании, но в какие-то моменты времени в дело вмешивались коммитеты, из-за чего в аде есть проблемы с целостностью архитектуры и чрезмерным нагромождением фич. Чем руководствовали коммитеты я могу понять: язык должен дать безупречную надежность и неплохую читаемость, а трудности написания уже никого не волнуют. Но они переборщили. Точно так же, как Гвидо переборщил с читаемостью, они принесли в жертву безопасности очень много, и в итоге писание прог на аде стало пыткой, из-за чего вы можете найти так мало людей, которые пишут любительские проекты на аде — слишком уж сильно он сношает мозг писателя. У тебя проект чуть больше hello world, и привет - вот вам вывод двух переменных на консоль:
with Ada.Text_IO;
procedure Operator_Power is
A : constant Float := 5.0 ** 2; -- A is now 25.0
B : constant Integer := 5 ** 2; -- B is also 25
package T_IO renames Ada.Text_IO;
package F_IO is new Ada.Text_IO.Float_IO (Float);
package I_IO is new Ada.Text_IO.Integer_IO (Integer);
begin
T_IO.Put ("A = ");
F_IO.Put (
Item => A,
Fore => 3,
Aft => 1,
Exp => 0);
T_IO.New_Line;
T_IO.Put ("B = ");
I_IO.Put (
Item => B,
Width => 3,
Base => 10);
T_IO.New_Line;
end Operator_Power;
По этой причине так мало людей, которые знают Аду, а те, кто потратили, чтобы научиться на ней писать, ведут себя как мать ребенка: не могут признаться «да, я родила дебила, бывает; в следующий раз получится получше» - нет, она будет говорить «мой сынишка особенный, он альтернативно одаренный, дети разные бывают, я бы не променяла на другого; вот у других дети бегают и шалят, а мой сидит спокойно и пускает слюни». Примерно та же история с людьми, которые осилили монады в хаскеле — цитирую слова одного довольно известного персонажа:
https://avva.livejournal.com/1516071.html
Монады объективно тяжело понять. Их тяжело понять не только потому, что это «новый» тип мышления - функциональное программирование - но и вообще, просто, с объективной интеллектуальной точки зрения их тяжело понять. Они требуют намного больше абстрактного и типично-математического мышления, чем сложные возможности в любых других известных мне языках. А меж тем в Хаскеле даже строку на вывод не послать без монад (ну, можно, конечно, это делать, не понимая, как это работает, но это ж неинтересно)...
Попросту говоря, не является ли энтузиазм по поводу Хаскеля и монад в определённой мере интеллектуальной мастурбацией, когда те, кто «проникся», радуются тому, как это умно и глубоко, и какие они крутые, что хорошо это понимают?
Исходная версия byko3y, :
Чем Раст лучше Ада?
Тем, что он чуть меньше сношает мозг. Наверняка, Аду делали люди, которые соображали в программировании, но в какие-то моменты времени в дело вмешивались коммитеты, из-за чего в аде есть проблемы с целостностью архитектуры и чрезмерным нагромождением фич. Чем руководствовали коммитеты я могу понять: язык должен дать безупречную надежность и неплохую читаемость, а трудности написания уже никого не волнуют. Но они переборщили. Точно так же, как Гвидо переборщил с читаемостью, они принесли в жертву безопасности очень много, из-за чего писание прог на аде стало пыткой, из-за чего вы можете найти так мало людей, которые пишут любительские проекты на аде - слишком уж сильно он сношает мозг писателя. У тебя проект чуть больше hello world, и привет - вот вам вывод двух переменных на консоль:
with Ada.Text_IO;
procedure Operator_Power is
A : constant Float := 5.0 ** 2; -- A is now 25.0
B : constant Integer := 5 ** 2; -- B is also 25
package T_IO renames Ada.Text_IO;
package F_IO is new Ada.Text_IO.Float_IO (Float);
package I_IO is new Ada.Text_IO.Integer_IO (Integer);
begin
T_IO.Put ("A = ");
F_IO.Put (
Item => A,
Fore => 3,
Aft => 1,
Exp => 0);
T_IO.New_Line;
T_IO.Put ("B = ");
I_IO.Put (
Item => B,
Width => 3,
Base => 10);
T_IO.New_Line;
end Operator_Power;
По этой причине так мало людей, которые знают Аду, потратили уйму времени, чтобы научиться на ней писать, и они, как мать ребенка, не могут признаться «да, я родила дебила, бывает. В следующий раз получится получше» - нет, она будет говорить «мой сынишка особенный, он альтернативно одаренный, дети разные бывают, я бы не променяла на другого. Вот у других дети бегают и шалят, а мой сидит спокойно и пускает слюни». Примерно та же история с людьми, которые осилили монады в хаскеле — цитирую слова одного довольно известного персонажа:
https://avva.livejournal.com/1516071.html
Монады объективно тяжело понять. Их тяжело понять не только потому, что это «новый» тип мышления - функциональное программирование - но и вообще, просто, с объективной интеллектуальной точки зрения их тяжело понять. Они требуют намного больше абстрактного и типично-математического мышления, чем сложные возможности в любых других известных мне языках. А меж тем в Хаскеле даже строку на вывод не послать без монад (ну, можно, конечно, это делать, не понимая, как это работает, но это ж неинтересно)...
Попросту говоря, не является ли энтузиазм по поводу Хаскеля и монад в определённой мере интеллектуальной мастурбацией, когда те, кто «проникся», радуются тому, как это умно и глубоко, и какие они крутые, что хорошо это понимают?