История изменений
Исправление SZT, (текущая версия) :
он должен понимать вот этот вот «C/C++»
Нельзя уметь понимать «C/C++» не умея понимать C
Человек с сишным бэкграундом с большой долей вероятности(если ему специально об этом не сказать) будет использовать в плюсокоде сишные конструкции, даже если это не является необходимым.
Ну конечно, только обычно в книгах по C++ черным по белому пишут, что надо избегать по-возможности писать на C++ как на C. Так что человек вообще-то и так должен знать, что на C++ почти всегда надо писать как на C++.
ну-ка, расскажи, как знание C поможет в освоении какого-нибудь эрланга, например
Да очень просто. Я-то сам не знаю этого эрланга, но глядя на простые примеры его кода и имея опыт программирования на C, я отлично могу понять его.
-module(count_to_ten).
-export([count_to_ten/0]).
count_to_ten() -> do_count(0).
do_count(10) -> 10;
do_count(Value) -> do_count(Value + 1).
unsigned int count_to_ten(void)
{
return do_count(0); // count_to_ten() -> do_count(0).
}
unsigned int do_count(unsigned int i)
{
if (i == 10) return 10; // do_count(10) -> 10;
else return do_count(i+1); // do_count(10) -> 10;
}
Аналогично со всякими «классическими» примерами, вроде чисел фибоначчи и факториалов.
Если взять двух людей с одинаковыми способностями к программированию и проч., один не знает ни одного ЯП, другой знает C, то при прочих равных условиях, человеку со знаним C будет проще осваивать erlang, в этом я не сомневаюсь
Исходная версия SZT, :
он должен понимать вот этот вот «C/C++»
Нельзя уметь понимать «C/C++» не умея понимать C
Человек с сишным бэкграундом с большой долей вероятности(если ему специально об этом не сказать) будет использовать в плюсокоде сишные конструкции, даже если это не является необходимым.
Ну конечно, только обычно в книгах по C++ черным по белому пишут, что надо избегать по-возможности писать на C++ как на C. Так что человек вообще-то и так должен знать, что на C++ почти всегда надо писать как на C++.
ну-ка, расскажи, как знание C поможет в освоении какого-нибудь эрланга, например
Да очень просто. Я-то сам не знаю этого эрланга, но глядя на простые примеры его кода и имея опыт программирования на C, я отлично могу понять его.
-module(count_to_ten).
-export([count_to_ten/0]).
count_to_ten() -> do_count(0).
do_count(10) -> 10;
do_count(Value) -> do_count(Value + 1).
unsigned int count_to_ten(void)
{
return do_count(0); // count_to_ten() -> do_count(0).
}
unsigned int do_count(unsigned int i)
{
if (i == 10) return 10; // do_count(10) -> 10;
else return do_count(i+1); // do_count(10) -> 10;
}
Аналогично со всякими «классическими» примерами, вроде чисел фибоначчи и факториалов