Узнайте, как Smalltalk и Java повлияли на Коллекции Eclipse и могут помочь вам расти как разработчику.
Прогулка со Smalltalk
12 мая 2022 года я выступил с докладом Smalltalk или Java? Почему не оба! в Питтсбургской группе пользователей Java. Встречу организовали Сириша Пратха и Ринат Гатятуллин. Выступление было записано и теперь доступно на YouTube-канале Pittsburgh JUG (ссылка на видео ниже). Я продемонстрировал некоторые функции языка и библиотеки, переключаясь между примерами кода Smalltalk и Java/Eclipse Collections, используя Pharo 10.0 и IntelliJ IDEA 2022.1.
Разговор доставил мне массу удовольствия. Прошло 22 года с тех пор, как я профессионально программировал на Smalltalk. Один из участников спросил меня, какой Smalltalk я использовал раньше. Я ответил, что программировал в IBM VisualAge для Smalltalk. Я также упомянул, что начал изучать Java с помощью IBM VisualAge for Java, который был реализован в VisualAge for Smalltalk. VisualAge для Java в конечном итоге превратилась в Eclipse IDE, исходный код которого был открыт IBM более 20 лет назад.
Четыре десятилетия в качестве разработчика
Я программирую 40 лет. Вот список большинства языков, на которых я программировал.
3 десятилетия, 3 языка и 3 лямбда-синтаксиса
За последние 30 лет я профессионально программировал на трех разных языках, которые оказали длительное влияние на мой мыслительный процесс как разработчика. Все три из этих языков поддерживают лямбда-выражения.
Во время разговора я объяснил, что больше никогда не смогу программировать на языке без поддержки лямбда-выражений.
Ссылки на блоги
Я ссылался на следующие ссылки на блог во время разговора. Код, которым я поделился на живых сеансах кодирования, доступен в блогах. Я также подробно объясняю, как начать работу с Pharo Smalltalk IDE.
Болтовня
Java с коллекциями Eclipse
И Smalltalk, и Java
Коллекции Eclipse = Smalltalk + Java
Eclipse Collections — это мост, построенный между двумя удивительными мирами программирования. Вот таблица, которая объясняет влияние обоих языков программирования на эволюцию библиотеки Java с открытым исходным кодом, которой уже 18 лет.
Моя игровая площадка Pharo из разговора
Ниже приведен снимок игровой площадки Pharo, которую я использовал в качестве REPL для выделения и выполнения кода. Вывод в Transcipt
на изображении является результатом выполнения выделенного кода. Я заметил, что Interval
является инклюзивным в Smalltalk, и когда вы используете дробный шаг, Smalltalk автоматически уменьшает дроби, когда это возможно. Я упомянул, что у нас есть Interval
, IntInterval
и LongInterval
в Коллекциях Eclipse.
Изучайте несколько языков
Изучение нескольких языков может помочь нам расти как разработчикам. Есть много языков программирования для изучения. Я считаю, что изучение классических языков, таких как Lisp и Smalltalk, имеет такое же, если не большее значение, как и изучение новых блестящих языков программирования. Классические языки, такие как Lisp и Smalltalk, продолжают развиваться и решать новые проблемы. Готовясь к этому выступлению, я узнал кое-что новое о Smalltalk, которого не знал, а также некоторые интересные функции среды разработки Pharo Smalltalk. Похоже, API коллекций в Pharo Smalltalk продолжает развиваться. Я надеюсь, что, проводя подобные доклады, сообщества Java и Smalltalk смогут узнать о новых возможностях, которые мы реализовали в Eclipse Collections.
Я надеюсь реализовать библиотеку Lazy Iterable для Pharo Smalltalk в будущем. Я, конечно, открою библиотеку, как только доберусь до нее.
Делиться заботой.
Я размещу ссылку на видео с выступления здесь, как только оно появится на YouTube. Следите за обновлениями!
Обновление: видео
Я являюсь руководителем и ответственным за проект OSS Eclipse Collections в Eclipse Foundation. Eclipse Collections открыт для пожертвований. Если вам нравится библиотека, сообщите нам об этом, пометив ее звездочкой на GitHub.