>А вы ?А мы различаем. Поэтому употребили термин "Си-подобный", а не какой-либо иной.
Если вы незнакомы с иными синтаксическими семействами, то, разумеется, мельчайшие несовпадения будут вам бросаться в глаза.
>когда-нибудь решали какие-либо задачки по программированию на олимпиадах ?
Разумеется, нет. В цирке тоже не выступал.
>a) Алгоритмический
>b) С
>c) Basic
Какие-то убогие у вас олимпиады. Вы б лучше в ICFP поучаствовали, оно и веселей. Заодно б узнали хотя бы ML- и Lisp-подобные синаксисы, для общего развития. Не знаю что такое "алгоритмический", но у C и Basic синаксис схожий.
>Синтаксис этих языков является наиболее понятным и знания этих языков по сути имеются у процентов так 99% программистов
Ну да, Си-подобный. Такой же у перл, PHP, и чего только не.
И что?
>Написав бы там простенький алгоритм на вашем OCaml, много ли кто смог его прочитать ?
Да кто угодно смог бы. Вы главное в функциональные дебри не лезьте, пишите как на Си, и всё будет хорошо и понятно.
let rev_inplace ar =
let i = ref 0 in
let j = ref (Array.length ar - 1) in
(* terminate when the upper and lower indices meet *)
while !i < !j do
(* swap the two elements *)
let tmp = ar.(!i) in
ar.(!i) <- ar.(!j);
ar.(!j) <- tmp;
(* bump the indices *)
incr i;
decr j
done
Всей разницы - разыменование ссылки, которые вместо указателей, не * а !, и скобочки лишние не нужны. И стрелочка для присваивания.
>этот пример, взятый с лурка
Вы понимаете что если вы не сможете примерно такое же написать на Си, то вы его не знаете?
>Конечно же же мой, неужели какой-то там компилятор сгенерирует код лучше меня
Пример в студию?
>Вы хоть немного понимаете, как работают эти флаги оптимизации и каким именно образом они получают более оптимизированный код по сравнению с компиляцией без этих флагов ?
Так вы код оптимизируете выставлением флагов компиляции? Но код при этом генерируете сами? Но -О3 при этом не используете?
Я запутался.
>>> Или вы научились писать SIMD-инструкции прямо на Си?
>Как говорится - опыт, всё приходит с опытом..
Рассказывайте, рассказывайте.