17% скидка на размещение рекламы на площадках devby — до 20 ноября. Клац!
Support us

Google: Java и C++ слишком сложны и запутаны

32 комментария
Google: Java и C++ слишком сложны и запутаны
Сегодня языки "коммерческой" разработки - такие как C++ и Java, к примеру - слишком сложны и не очень подходят для программирования в современных вычислительных средах, заявил ведущий инженер Google Роб Пайк на конференции O'Reilly Open Source. В ходе своего выступления на данной конференции, проходившей совсем недавно в Портленде, Пайк раскритиковал "промышленные языки программирования". "Я считаю, что эти языки слишком трудны для использования. Они излишне тонки и хитроумны, слишком запутаны. С ходом времени эта самая сложность, многословность и запутанность языков только возрастает - сказал Пайк. - Эти языки слишком широко распространены, они, так сказать - "перепроданы". Пайк уточнил, какие конкретно претензии он предъявляет популярным языкам программирования, посредством рассказа о том, какие он и другие инженеры Google ставили перед собой задачи, разрабатывая язык Go. Иллюстрируя излишнюю сложность современных языков, Пайк показал несколько примеров C++ кода. Один из них представлял собой объявление переменной, которое растянулось стройкой через весь экран."Как мы можем считать такое нормальным и стандартным в программировании? Как мы можем учить подобному в школах и использовать в работе?" - риторически вопрошает Пайк. Такой подход к программированию очень бюрократичен. Буквально каждый шаг приходится согласовывать и утверждать компилятором. Сказано это было с долей иронии, конечно, но Пайк заявил, что, на его взгляд, вопрос несовершенства современных языков программирования весьма актуален. С++ появился из-за разочарования сложностями работы с языком низкого уровня С, а Java появилась как один из путей упрощения C++. Со временем, однако, эти языки стали обрастать новым функционалом, становясь всё сложнее и сложнее с каждым разом. "Вместе с тем, как языки становились всё утонченнее и изощрённее, стало всё больше и больше в них паразитных шумов", - сказал Пайк. Кроме того, как отметил инженер Google, популярные современные языки программирования были разработаны до эры многоядерных вычислений и широкого распространения сетей, так что для их адаптации кода к этим современным средам приходится потрудиться. Пайк не единственный инженер из Google, кто выразил своё недовольство и разочарование современными языками "коммерческой" разработки. На ежегодной конференции USENIX в прошлом месяце Адам де Бур, разработчик Gmail, удивил аудиторию, отметив, что данный популярный почтовый сервис был целиком и полностью написан на JavaScript, причем все 443 000 строчки кода были написаны вручную. Адам также отметил, что Java более выразительный язык, но при этом и гораздо более подробный и многословный. "И возникает проблема выбора, какой язык будет более предпочтительным для разработки", - сказал Адам. JavaScript - представитель целой группы языков , в неё часто включают Python и Ruby, разработанных в течение последних десяти лет, в ответ на растущую сложность C++ и Java. Располагая более простым синтаксисом, они не лишены, впрочем, своих недостатков.Эти новые языки, как правило, медленнее, толком не масштабируются и могут быть приводить к возникновению даже большего числа ошибок, отметил Пайк. Данные языки, как правило, интерпретируются, и программы, написанные на них, не компилируются перед запуском, а значит, работают медленнее. Также обычно такие языки обладают динамической типизацией - программистам не приходится заранее указывать, какой тип данных будет иметь переменная. "Динамическая типизация - это не обязательно хорошо. Вы натыкаетесь на статические ошибки во время запуска программы, которые могли быть пойманы и исключены во время компиляции". Имея всё это в виду, Пайк описал разработанный Google язык Go как попытку сочетать лучшие качества обоих типов языков в одном новом. "Go - это попытка соединить безопасность и производительность языков со статической типизацией с удобством и лёгкость интерпретируемых языков с динамической типизацией, - сказал Пайк, добавив потом: - Насколько это получилось, судить каждому самому". Один из слушателей, Ларри Аугустин, CEO компании, разработчика CRM-системы SugarCRM, согласился с утверждением Пайка о том, что C++ и Java стали слишком сложными, отметив, что происходит это со всеми языками, с мерой их развития для решения всё более и более широкого круга задач. "Причина, растущей сложности этих языков, в том, что чем больше его используют, тем больше находят в нём ошибок и неясностей, попытки разрешения которых делают все только сложнее и сложнее. Я высоко ценю стремления разработчиков Google Go", отметил Аугустин на счёт целей Пайка. "Вопрос только в том, каков будет результат? Не станет ли Go в свою очередь слишком сложным и запутанными по мере того, как его будет использовать всё больше людей?" Источник: pcworld.com
Читайте также
Google решила запустить дата-центры в космосе
Google решила запустить дата-центры в космосе
Google решила запустить дата-центры в космосе
В Google Translate появился режим «умного» перевода с помощью Gemini
В Google Translate появился режим «умного» перевода с помощью Gemini
В Google Translate появился режим «умного» перевода с помощью Gemini
1 комментарий
Google, Microsoft и Anthropic пытаются защитить ИИ от промпт-инъекций
Google, Microsoft и Anthropic пытаются защитить ИИ от промпт-инъекций
Google, Microsoft и Anthropic пытаются защитить ИИ от промпт-инъекций
ИИ-поисковик Google будет копаться в вашей почте и файлах — ради вас самих
ИИ-поисковик Google будет копаться в вашей почте и файлах — ради вас самих
ИИ-поисковик Google будет копаться в вашей почте и файлах — ради вас самих
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.