LINUX.ORG.RU
Ответ на: комментарий от peregrine

А как ls -la запускаешь?

ll

Неужели ты бы предпочёл ls -l –all или (так не реализовано но всё же) ls –long –all

Для ls нет.

Мне кажется, короткие опции дико облегчают работу с cli.

Только для команд, которые я использую очень часто и постоянно с разными опциями. И которые часто встраиваются в конвееры. Таких команд очень мало. И в принципе я бы не особо расстроился, если бы и эти команды пришлось указывать полностью.

Для 99% команд я предпочитаю длинные опции. Например меня адово вырубает чириканье пакманом в документации. pacman -Suy чиво??? Куда сувать? А вот pacman --sync --refresh --sysupgrade - тут уже всё понятно.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от Saakx
sudo apt update -y && sudo apt upgrade -y
sudo apt install openjdk-25-jdk

Если у тебя debian 13.3 то там 25 java есть. Не надо на него наговаривать. Debian конечно устаревает ещё до выхода стабильного релиза, но Java это важная штука и её обновляют.

peregrine ★★★★★
()
Ответ на: комментарий от monk

Кроме ошибок, выстреливающих при определённом расположении звёзд, с которыми ничего не поделаешь, есть и просто ошибки, коих много больше. И то, что их вычистят за тебя — уже большое дело.

А читать чужой код, конечно, сложнее нежели писать свой.

ugoday ★★★★★
()
Ответ на: комментарий от lovesan

че там учить вообще?

Когда уже успел побултыхаться в других языках — в самой жабе учить вроде бы и нечего больше. Но остаётся ещё платформа и библиотеки.

Nervous ★★★★★
()
Ответ на: комментарий от lovesan

Учить особо нечего, кроме того обычного ныряния в говнокод всяких библиотек и фреймворков. В них и вся суть того или иного ЯП на самом деле для практических задач.

peregrine ★★★★★
()
Ответ на: комментарий от firkax

Я по крайней мере джаву изучил именно в процессе работы с майнкрафтом.

Вот это неожиданно :)

Думал ты настолько сумеречен и суров, что от любого вида игрушек далёк)

С чего проще всего именно в майне вкатиться?

frunobulax ★★★★
()
Ответ на: комментарий от frunobulax

С чего проще всего именно в майне вкатиться?

Не знаю, у меня как-то не было выбора. Просто меня не устраивала некоторая механика (надо убрать overpowered предметы из одного мода, не убирая сам мод), решил сделать через блокировку определённых рецептов, поискал готовые моды для этого - нашлось только что-то не от той версии игры и кривое. При этом обфусцированное (это требование самой игры считай). Стал разбираться как этот блоб переделать под нужную версию, в итоге изучил формат .class файлов, написал к ним парсер, патчер имён (для обфускации/деобфускации), заменил блоб на целиком свой исходник т.к. так оказалось проще чем пытаться переделать блоб, исходник со временем подрос новыми фичами по порезке избыточных фич игры и просто новыми фичами в том что мне хотелось исправить, дописал к нему систему сборки (пачка исходников -> готовый файл мода) на шелле+си (традиционные джава-сборщики мне казались блоатварными и категорически не понравились). Затем собрался бекпортировать поддержку шейдеров из новых версий optifine в ту что была у меня (mc 1.5.x), но появились другие дела и время на это всё закончилось, даже играть в него перестал.

Потом, кстати, джава ещё пригождалась патчить баги в кое каком джавовом клозедсорсе не связанном с играми.

firkax ★★★★★
()
Ответ на: комментарий от anonymous

String Templates

Мелочь.

Flexible Constructor Bodies

Мелочь.

Pattern Matching for switch

Мелочь.

виртуальные потоки

Не сильно мелочь но почти. «Учатся» за 5 минут, если ты знаешь старую Жабу и понимаешь как работают обычные потоки, volatile и вот это вот все.

Конечно можно сказать что всё это фигня

А так и есть. Вот не фигня это тот же C++, где вместо старых механизмов работы с памятью ввели кучу нового, которое за 5 минут не освоишь и нужно еще и руку набить. А со switch statement что там набивать то?
Фундаментально в жабе ничего не изменилось, никаких новых подходов не случилось.

Мне больше всего из нового record понравились. Им наследование и изменяемость прикрутить было бы ещё лучше.

Точней, сдвиг прошел в плане стиля, API или ХЗ как это назвать, но он настолько мелкий и незначительный, что половина бывалых его и не заметили.
Я говорю об олдскульном newInstance() и новом of() стиле. Прошел сдвиг от FooUtils до Foos. Если глянуть тот же Effective Java то часть подобных шаблонов уже не актуальны.

urxvt ★★★★★
()

Сперва научись пользоваться LLM Тогда даже этот форум перестанет быть сколь-либо нужным :)

Вот, для тебя гиганстские можности нейросетей создали идеальный план работы под твой вопрос:

Я хочу выучить Java, на компьютере стоит 21 версия. Какие книги посоветуете? Что можно написать на Java в качестве личного проекта?


Отличное решение изучать Java! У вас уже стоит актуальная 21-я версия — это хороший старт. Вот подробные рекомендации.

📚 Книги для изучения Java (от новичка к продвинутому)

Для абсолютных новичков (с нуля):

  1. Кай С. Хорстман «Java. Библиотека профессионала. Том 1. Основы» (Core Java). Это классика, эталонная книга. Охватывает все основы очень подробно и структурированно. Лучший выбор для глубокого понимания. Актуальное издание покрывает версии до Java 17/21, различия для 21-й не критичны для основ.
  2. Роберт Лафоре «Структуры данных и алгоритмы на Java». Если хотите не просто синтаксис, а научиться решать задачи. Отлично подходит после освоения основ.

На русском, более современный подход: 3. Николай Вячеславович Прокопенко «Java на примерах. От простого к сложному». Хорошая практическая книга для старта. 4. «Head First Java» (Используйте английский оригинал или поищите PDF-перевод). Книга с уникальным интерактивным форматом, множеством иллюстраций и задач. Отлично подходит тем, кому скучно читать сухие технические тексты.

Важно: Для 21-й версии обратите особое внимание на новые фичи (издания книг могут их не покрывать): виртуальные потоки (Virtual Threads), записи (Records), шаблоны записей (Record Patterns). Изучайте их по официальной документации Oracle и статьям (например, на Habr).

Где искать: Все эти книги есть в электронном виде (PDF, EPUB). Оригиналы на английском — на Amazon (Kindle), O’Reilly. Русские переводы — в онлайн-библиотеках (Литрес, Озон.Книги), также часто выкладывают в открытый доступ.

🚀 Практика: Идеи личных проектов (от простого к сложному)

Уровень 1: Консольные приложения (закрепите основы)

  • Калькулятор с парсингом введённой строки или с обработкой действий.
  • Консольный планировщик задач (To-Do List) с сохранением в файл (работа с файлами, коллекции).
  • Текстовая RPG-игра (битва с монстрами, инвентарь, уровень персонажа).
  • Простой банковский симулятор (счета, переводы, история операций).

Уровень 2: Приложения с графическим интерфейсом (Swing/JavaFX)

  • Графический тот же To-Do List или Калькулятор.
  • Погодное приложение с парсингом данных из открытого API (например, OpenWeatherMap). Это научит работе с HTTP-запросами (используйте библиотеку OkHttp или стандартный HttpClient из Java 11+).
  • Простой чат (сначала для локальной сети, используя сокеты).
  • Визуализатор алгоритмов сортировки (анимация перемещения элементов).

Уровень 3: Серверные приложения (Spring Boot)

  • REST API для блога или личного дневника (статьи, комментарии, тэги). Используйте Spring Boot, Spring Data JPA, PostgreSQL. Это даст понимание основ бэкенда.
  • Микросервис для конвертации валют или получения котировок акций.
  • Система учета личных финансов с веб-интерфейсом (можно добавить простые графики).

Уровень 4: Мобильные приложения (Android)

  • На Java можно писать под Android. Создайте мобильную версию любого проекта с уровней 2-3.

Уровень 5: Специализированные проекты

  • Плагин для Minecraft (если любите игру) — отличная мотивация.
  • Простой веб-краулер для сбора данных с сайтов (библиотека Jsoup).
  • Бот для Telegram/Discord (библиотеки для Telegram Bot API).

🔧 Технологический стек для проектов (после основ)

  • Система сборки: Maven или Gradle (Gradle сейчас популярнее). Учитесь добавлять зависимости.
  • Базы данных: Начните с H2 (в памяти), затем PostgreSQL.
  • Бэкенд-фреймворк: Spring Boot — де-факто стандарт для enterprise.
  • Контроль версий: Git. Создайте аккаунт на GitHub и выкладывайте все свои проекты туда. Это ваше портфолио!

📝 Общий план действий:

  1. Основы: Книга Хорстманна + параллельное написание мелких консольных программ.
  2. ООП: Углублённое изучение классов, интерфейсов, наследования, полиморфизма. Проект уровня 1.
  3. Библиотеки и инструменты: Maven/Gradle, JUnit (тестирование), Git.
  4. Базы данных и SQL: JDBC, затем ORM (Hibernate).
  5. Spring Boot: Переходите к проектам уровня 3.
  6. Алгоритмы и многопоточность: Книга Лафоре, изучение Concurrent API в Java.

Ключевые ресурсы:

  • Официальная документация Oracle: docs.oracle.com/javase/
  • Stack Overflow: для решения конкретных проблем.
  • YouTube-каналы: Amigoscode, Telusko, Java Brains (на англ.); Алишев, Уроки Java (на русск.).
  • Практика: Codewars, LeetCode (после основ).

Начните с малого, пишите код каждый день, даже по 30 минут. Первый проект — калькулятор или To-Do List в консоли. Удачи в изучении! Это долгий, но очень интересный и благодарный путь.

Как видишь, какой-нибудь дикпик полезнее чем 95% советов советчиков :)

impfp
()
Ответ на: комментарий от impfp

Сперва научись пользоваться LLM Тогда даже этот форум перестанет быть сколь-либо нужным :)

Только смотря на более компетентных людей, как они думают, работают, что читают ты сможешь достичь мастерства. Именно этим форумы и хороши.
Я опять со своей столяркой: сколько бы ты книг не прочитал, но очень полезно понаблюдать как работает мастер, пообщаться с ним.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

В вопросе ТС не было ничего про мастерство, к слову.

А если конкретно…

Именно этим форумы и хороши.

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

Это я как местный завсегдатай с 15+ летним стажем его наблюдения тебе говорю.

PS хотя ты тоже регистрант из 2000х, так что должен понимать ;)

impfp
()
Последнее исправление: impfp (всего исправлений: 2)
Ответ на: комментарий от peregrine

у меня жена тестит в банке. я уж насмотрелся на этот ужас. жабские аннотации это реально сатанизм. да и между прочим, а куда сейчас жабисту в РФ податься?

большая часть вакансий те же банки где работа как на галерах.

ckotctvo
()
Ответ на: комментарий от impfp

Ну не знаю, я научился многому читая всякие форумы и в основном ЛОР. Согласен, нынче форумы уже не те, но, все же это лучше чем бездушный собеседник бот.

urxvt ★★★★★
()