Здесь проводится сравнение Go с языком, который в свое время не получил должной популярности. И сравнение таки далеко не в пользу Go.Опубликован январский рейтинг языков программирования
Язык программирования Go, разработанный в Google, показывает небывалый рост популярности. Утверждается, что он поддерживает многопоточное программирование и параллелизм вычислений, позволяя эффективно нагружать современные многоядерные процессоры. Не отстает и Apple Objective-C, получивший впечатляющую поддержку разработчиков.
Ссылка
Справедливости ради замечу, что Go в представленном рейтинге замыкает чертову дюжину, а лидеры все те же - java, c, c++...Здесь проводится сравнение Go с языком, который в свое время не получил должной популярности. И сравнение таки далеко не в пользу Go.
А пропиарили его очень нехило. Однако на момент анонса, он был очень и очень сыр. Незнаю, как сейчас.
У гугля на этот счет, кстати, другое мнение.Справедливости ради замечу, что Go в представленном рейтинге замыкает чертову дюжину, а лидеры все те же - java, c, c++...
интересно, почему C популярней C++?Опубликован январский рейтинг языков программирования
Язык программирования Go, разработанный в Google, показывает небывалый рост популярности. Утверждается, что он поддерживает многопоточное программирование и параллелизм вычислений, позволяя эффективно нагружать современные многоядерные процессоры. Не отстает и Apple Objective-C, получивший впечатляющую поддержку разработчиков.
Ссылка
C намного проще чем C++, и отсюда следствия:интересно, почему C популярней C++?
Тем не менее, кое-что из ООП просочилось и в C. Я имею в виду моделирование виртуальных таблиц с помощью структур, состоящих из полей типа функциональных указателей, что собственно приводит к возможности использования ad-hoc полиморфизма, своего рода абстракцией и инкапсуляцией в C. Можно конечно и наследование смоделировать с помощью аггрегации, но от наследования в ООП как раз больше всего проблем.Ну и ещё сейчас наблюдается общая тенденция некоторого разочарования в объектно-ориентированном программировании в целом.
Преимущества этого подхода сейчас уже не выглядят слишком привлекательными.
ООП за собой кучу проблем тащит.
- так этого никто не отменял. Многи функциональщики используют эти принципы для проектирования сложных систем.everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages.
Самое смешное - это доступно было и ранее. Кто мешает вам соответствующую функцию в свою библиотеку написать.... структур, состоящих из полей типа функциональных указателей, что собственно приводит к возможности использования ad-hoc полиморфизма ...
Это ирония, или и правду по делу? Нет, честно не понял и вполне допускаю за собой воду и не по делу.sami как всегда на высоте. По делу и без воды. И без тык-мык.
Почему я так не умею? :lol:
Ранее чего и соответствющую чему?Самое смешное - это доступно было и ранее. Кто мешает вам соответствующую функцию в свою библиотеку написать.
Полностью поддерживаю. Могу лишь добавить, что останавливаясь на C, тоже нужно хорошо подумать.C++ погряз и запутался в своих собственных концепциях. Код C++ стал каким-то безобразием.
В погоне за упрощением, утопили ребёнка - поддержка кода C++ стала очень трудоёмкой.
Много ещё можно сказать.
C++ - это неплохо, но нужно хорошенько подумать прежде чем выбрать его для своего нового проекта.
Нет.Это ирония ...
Не, не.Ранее чего и соответствющую чему? ...
Допустим, я использую библиотеку по работе с картинками ...
Так и появляются утечки памяти)sami, на самом деле, мы говорим о вещах которые мало кому понятны.
Я уверен что большинство понимает что такое указатель на объект (функцию).
Но с введением понятия указатель на указатель - наша аудитория уменьшается раза в два.
А если заговорить о многомерном динамическом массиве указателей на массивы указателей?
Безусловно. Но объекты и наследования счастья не приносят, в отличие от повышения абстракции.Оставим картинки в покое.
Я про то, что объекты и наследование можно реализовать в своём собственном проекте на чистом С, и это не очень сложно.
Честно говоря, меня тоже смущает обилие звездочек в типах C/C++. Особенно какие-нибудь ботанические примеры из букварей без привязки к реальной жизни.sami, на самом деле, мы говорим о вещах которые мало кому понятны.
Я уверен что большинство понимает что такое указатель на объект (функцию).
Но с введением понятия указатель на указатель - наша аудитория уменьшается раза в два.
А если заговорить о многомерном динамическом массиве указателей на массивы указателей?
Совсем мало народу осталось в аудитории.
Это часть правды. Когда я ходил на горшок, так и было. Сейчас давно уже не грех разрабатывать компиляторы C++ на C++. Да и вообще на C++ очень много компиляторов написано.Сам C++ написан на чистом C.
Немного не так. C++ был как раз балансом между ООП парадигмой, представленной симулой и смолтоком, и производительностью "C". Причем C++ до сих пор удерживает лидерство по производительности среди ООП языков.Концепция ООП была революционной, структурное программирование себя изжило т.к. в тот момент производительность процессоров ещё не была избыточной (но пользователю уже хотелось новых интерфейсов) а опыта создания таких программ ни у кого не было.
Собственно, появление производительных процессоров и идея создания интерактивных интерфейсов и привела с появлению C++
Спасибо за поучительный пример. Но мне кажется что роль С++ в нем преувеличена.Хочу сказать о печальном опыте применения С++ в одном из проектов в большом коллективе. Сначала казалось, что все мы только выйграем от С++, Первая же иерархия классов, действительно, позволила избавиться от многих неприятных моментов, таких как дублирование функциональности и инкапсулирование данных.
...
В итоге я написал проект на чистом С, простой, понятный и намного более эффективный(на 72%). Предоставил графики развития проекта, где показал, что с переходом на С++ мы только с каждым месяцем теряли на производительности проекта и большую часть времени проводили в отладке и извращениях, а не в полезном развитии.
В реальных задачах вообще встает проблема положить их на что-нибудь. Естественно, что при ограничении выбора "на что класть" задача будет решаться еще сложнее. ООП в этом плане не лучше и не хуже любой другой парадигмы программирования. И т.к. серебрянной пули нет, то фора будет у тех, кто владеет множеством парадигм программирования и, более того, умеет их комбинировать. Соответственно инструментальные средства должны позволять это.Есть задачи, которые просто идеально ложаться на ООП. Но их - абсолютное меньшинство. В примерах книжек именно эти случаи и приводятся. Правда, авторы не предупреждает, что этими примерами всё, собственно и ограничивается