просто еще один язык.. ничего такого что заставило бы орать OMG! не увидел, если его какаянить мегаконтора не впендорит в мегапродукт, будет существовать наравне с другими "еще одними языками" имхо
1) отсутствие null и неинициализированнх переменных как явления; если переменная есть, у нее есть значение. 2) компилятор полностью отслеживает lifetime переменной: no dangling pointers, no memory leaks при отсутствии GC (!) и «большого» рантайма. 3) множество функциональных плюшек, которые делают жизнь проще: algebraic data types, которые на Си только эмулировать через tagged unions, а в С++ каждый раз наворачивать свою обертку, нормальная, мощная система типов, выведение типов, гибкий pattern matching, который очень просто выражает кучу нетривиального кода. 4) человеческое ООП, где состояние и поведение разделены, — намного более гибкое и правильное, чем хтонический ужас классов в С++. 5) immutability by default (то есть все переменные const в терминах С++, если не указано mut), потоки, которые владеют своми данными и не дают их корраптить просто так, что для современного многопоточного языка must have. 6) нормальная система модулей, а не #include. 7) нормальные макросы, а не недоразумение в виде #define. 8) escape hatch в виде unsafe-блоков, которые дают доступ ко всей низкоуровневой (и опасной) мощи C.
Если это «еще один язычок», то я не знаю, как вас вообще можно впечатлить.
ну ваш опыт говорит что это что то впечатляющее, а мой говорит что это просто еще один язык который поимеет успех только если какая то мегаконтора вложит денег в раскрутку
Привет! А расскажи, пожалуйста, про 6-7. Хотя бы парой правильных ссылок. А то я не очень представляю, как можно нагуглить правильную систему модулей :)
no subject
Date: 2014-07-03 09:55 (UTC)no subject
Date: 2014-07-03 10:10 (UTC)http://graydon2.dreamwidth.org/5785.html
no subject
Date: 2014-07-03 10:15 (UTC)no subject
Date: 2014-07-03 10:18 (UTC)Из особенного в "ржавчине" - несколько типов указателей и минимизация разделяемого мутабельного состояния для разных потоков.
no subject
Date: 2014-07-03 13:00 (UTC)2) компилятор полностью отслеживает lifetime переменной: no dangling pointers, no memory leaks при отсутствии GC (!) и «большого» рантайма.
3) множество функциональных плюшек, которые делают жизнь проще: algebraic data types, которые на Си только эмулировать через tagged unions, а в С++ каждый раз наворачивать свою обертку, нормальная, мощная система типов, выведение типов, гибкий pattern matching, который очень просто выражает кучу нетривиального кода.
4) человеческое ООП, где состояние и поведение разделены, — намного более гибкое и правильное, чем хтонический ужас классов в С++.
5) immutability by default (то есть все переменные const в терминах С++, если не указано mut), потоки, которые владеют своми данными и не дают их корраптить просто так, что для современного многопоточного языка must have.
6) нормальная система модулей, а не #include.
7) нормальные макросы, а не недоразумение в виде #define.
8) escape hatch в виде unsafe-блоков, которые дают доступ ко всей низкоуровневой (и опасной) мощи C.
Если это «еще один язычок», то я не знаю, как вас вообще можно впечатлить.
no subject
Date: 2014-07-03 13:43 (UTC)no subject
Date: 2014-07-15 03:27 (UTC)А расскажи, пожалуйста, про 6-7. Хотя бы парой правильных ссылок. А то я не очень представляю, как можно нагуглить правильную систему модулей :)
no subject
Date: 2014-07-03 10:16 (UTC)no subject
Date: 2014-07-03 10:32 (UTC)no subject
Date: 2014-07-03 16:51 (UTC)