Наверх

Стоп
Вход
Расширенный поиск
18+
Создать сайтПодать объявление
Поиск статей
Поиск статей

Главные мысли из интервью создателя Java Джеймса Гослинга

Профиль компании
Evrone
123317, РФ, г Москва, наб Пресненская, 6/2
Веб-разработка. Дизайн. Мобильные приложения. Blockchain
25.03.2022 17:23 | РФ, Город Москва

Иллюстрация. Главные мысли из интервью создателя Java Джеймса Гослинга

 

А DevRel Evrone Григорий Петров поговорил с ним о взглядах на языки, их возможности и решения, которые ежедневно используют тысячи разработчиков. Полный текст интервью вы можете прочитать по ссылке, а здесь мы публикуем самые интересные высказывания Джеймса Гослинга.

О пользе исправлений

«Каждое новое изменение, которое что-то ломает, делает больно всему сообществу. Если у тебя не так много программистов, такие изменения не проблема. Кроме того, нужно думать о балансе стоимости и пользы от этих изменений. Меняя что-то, ты добавляешь боли, но одновременно добавляешь и новые возможности».

О разнице статических и динамических языков

«Для однократных применений динамические языки работают довольно хорошо. Если важно постоянство, то стоит использовать все инструменты для статического анализа, какие найдешь. Но не всегда это нужно. Например, если ты физик и хочешь прямо сейчас получить результат какого-то вычисления, то достаточно сделать его ровно один раз. Всё зависит от контекста. Чем более надежным должен быть софт, тем больше помогают статически типизированные языки».

О производительности

«Чтобы действительно получить повышенную производительность, очень помогает иметь статически типизированный язык. Для динамических языков, вроде Python, это очень сложно. Обычно люди справляются с этим, добавляя аннотации: так получился TypeScript, который, по сути, все тот же JavaScript, но с аннотациями типов. И это вдвойне забавно, потому что JavaScript — это Java без объявлений типов. По сути, TypeScript — это Java с другим синтаксисом».

О скорости

«Делать микросервисы нормально, но они как минимум в миллион раз медленнее вызова метода. Подумайте, к чему это приводит. Для большинства людей, самый простой способ добиться производительности — сделать чистую масштабируемую архитектуру и масштабироваться. Но есть и люди, которым важны низкоуровневые детали».

О корутинах

«Когда в начале 70-х я изучал Simula, у неё был хороший, естественный стиль. Ты просто программируешь и думаешь о вычислении как о самозамкнутой сущности. Если сущности пересекаются, для тебя это выглядит прозрачно. Я пришел к выводу, что как концепция этот подход куда лучше, чем программирование вокруг обработки сообщений. Такой подход сложно реализовать, но, когда он реализован, думать в этом формате проще».

О подходе к обучению

«Не думаю, что очень важно, какой язык ты изучишь первым. Многие люди учат что-то одно и потом используют всю жизнь. Я думаю, каждый университет должен иметь у себя курс, в котором изучается сравнение языков программирования. Например, в семестре у тебя пять задач на пяти разных языках программирования. Это позволяет людям быстро их изучать, они ведь не настолько разные, и позволяет понять, что из них лучше подходит».

О pattern matching

«Думаю, если назвать эту конструкцию „type case“, это будет отлично. Но если называть это „pattern matching“, это звучит как обман или ложная реклама, ведь оно не дает столько же возможностей, как настоящие регулярные выражения. Но как возможность — это здорово».

О приоритетах

«Когда я начинал делать Java, одно из моих личных правил состояло в том, что я не хочу отлаживать странные проблемы с испорченной памятью. Я слишком много дней жизни отдал на починку таких багов. Которые зачастую заключаются в том, что кто-то в цикле перезаписал конец массива на один лишний элемент, и ты обнаружишь это много позже, через миллион инструкций. Ненавижу искать такие баги».

 

Источник: Evrone
Автор: Evrone
Опубликовал:
Evrone.ru Иванович
Предыдущая
изображение_2022-03-25_125329.png
25.03.2022 17:20
Команды по обеспечению качества (quality assurance, QA) гарантируют, что продукция компании соответствует установленным стандартам.
Следующая
изображение_2022-03-25_130031.png
25.03.2022 17:25
Управление знаниями (knowledge management, KM) — это организованная система процессов для сбора знаний и навыков и передачи их внутри компании.
Перейти на страницу: Evrone

Мнения и комментарии

Вы можете оставить свой комментарий
Подождите...
Сообщите о событиях в Вашем городе / районеРазместить новость
Создавайте новые темы в Москве, - обсуждайте общие вопросы Новые сообщенияТемы
@ 2024 Веб-Службы.РФ - Информация в городе Москва
Выбрать территорию
Для лиц старше 18 лет
Поддержка сайта: WSGlobal
Рейтинг@Mail.ru
90
Посещая настоящий Веб-сайт Вы соглашаетесь с условиями Соглашения об использовании файлов cookie