Что учить молодому джависту?

 

Страницы

Аватар пользователя antonkw

>Мои поздравления!

Спасибо.

>Попробуйте поучиться где-нибудь за пределами Синеокой, лучше западнее Гродно.

Переезжать в ближайшее время не планирую. Вообще, вопрос с магистратурой отложил бы надолго. Но вопрос с армией стоит. Поэтому пытаюсь найти что-то не откровенно бесполезное для меня.

>Ещё бы... Здесь так интересно рассказывали про nested inner anonymous classes

Про классы я и сам в курсе :) Никогда не знаешь, где почерпнешь какую-либо идею. На хабре всегда интересно комменты читать. В универе с преподавателями поговорить можно. Ну или просто подкаст послушать какой-либо. По итогу складывается хоть какое-то мировоззрение в плане того, что может пригодиться.

>пришёл Логик и навесил ярлык

Ну, пришел и пришел. Какое событие :)

>>Ежики плачут, но жрут кактус.

По теме, да.

Чтобы не оставлять тему откровенно бесполезной для тех, кто ее нагуглит.

Хорошая презентация: https://docs.google.com/presentation/d/1-31Yx3GxPmGuT7dFr6OcXRrxUR5aTqn3HfjyjGglcGY/

Список литературы: https://habrahabr.ru/company/mailru/blog/266065/

Для себя в качестве ближайшей цели поставил получение "java certified professional".

Основные темы: Advanced class design, Generics and collections, String processing, Exceptions and assertions, Java I/O, Java file I/O (NIO.2), Building database applications, Threads, Concurrency, Localization.

С дженериками, i/o и конкуренцией вообще все плохо, так что буду учить.

Аватар пользователя Petro46

Про классы я и сам в курсе :) 

Solid, Exception, Interface, Singleton? 

С дженериками, i/o и конкуренцией вообще все плохо, так что буду учить.

Maven, Spring, Hibernat, Security, JPA, REST, Bootstrap, Stream and Time API?

There are many in our lives, Horatio, than are dreamed of in your philosophy ...

Аватар пользователя antonkw

>Solid, Exception, Interface, Singleton? 

>Maven, Spring, Hibernat, Security, JPA, REST, Bootstrap, Stream and Time API

Если это было на тему того, что изучать, то как-то все очевидно, все это используется и постепенно осваивается. Потоки, как часть i/o, как уже сказал, знаю плохо. 

antonkw > По итогу складывается хоть какое-то мировоззрение в плане того, что может пригодиться.

Нет, психотип не тот. Имхо.

"По итогу" - словосочетание паразит.

"складывается" - канцеляризм.

"мировоззрение" - закос на академизм.

"в плане того" - канцеляризм.

"пригодиться" - написано ка-бы верно, но не хватает слова "мне" ;-)

>Ну, пришел и пришел. Какое событие :)

Это вы зря недооценили. ;-)



>Основные темы: Advanced class design, Generics and collections, String processing, Exceptions and assertions, Java I/O, Java file I/O (NIO.2), Building database applications, Threads, Concurrency, Localization.

Advanced class design -Хм, ну можно.

Generics and collections - часто применимо.

String processing - Хм, задумался.

Exceptions and assertions - знать нужно.

Java I/O, Java file I/O (NIO.2) - редкие звери. Но бывает.

Building database applications - Хм, тут Java не при чём -> SQL

Threads, Concurrency, - на практике не используются. Ну, почти.

Localization - на практике приходится придумывать своё решение. обычно.

Удачи в граните науки! ;-)

antonkw  > Если это было на тему того, что изучать, то как-то все очевидно, все это используется и постепенно осваивается.

А лучше СЕГОДНЯ изучать Javascript, вместо Java.

"Java - это Cobol сегодня" (С) - это скучно и не трендово (хотя и более денежно).

Имхо, конечно, имхо.

Хотя психотип не тот. Но бывает. ;-)

Аватар пользователя Petro46

А лучше СЕГОДНЯ изучать Javascript, вместо Java.

"Java - это Cobol сегодня" (С) - это скучно и не трендово (хотя и более денежно).

Javascript - интерпретируемый язык для узкого круга задач.  Есть большие проблемы у него. И ничего там интересного. В вебе все меняется быстро - вчера был Руби, кто сейчас помнит Руби? Завтра и Javascript поменяют. А Java останется. Не пудрите людям мозги - разберитесь в вопросе.

Аватар пользователя mike

Петро, ты несколько не прав. JavaScript, как я понимаю, -- это производный язык (в отличие от, например, C++ или Java). Есть реализации JS на C++, есть на Java. JS предназначен для связи веб-страниц с ОС компа. Считается, что для обучения программированию JS наиболее подходящ. Видимо, поэтому школьный препод с ником "Логик" его и пропагандирует. Серьёзные быстрые многопоточные вещи на нём писать нельзя, но JS развивается. Вспомни, что и Java'у в своё время полагали убогим -- апплеты, мол, и только. Придёт ли что-то на смену JS? Да, вполне может быть, думаю, тут ты прав.

petro46 > А Java останется.

А тут никто не спорит. В мире есть и СИ и КОБОЛ и даже ФОРТРАН - они есть и используются. Но они мастадоны!

mike > Считается, что для обучения программированию JS наиболее подходящ.

Нет - подходящим считают Java. (на втором месте pyton - но в Штатах он стал недавно впереди)

mike> JS предназначен для связи веб-страниц с ОС компа.

Вообще-то jаvascript засунули уже всюду (как в своё время и java) - от сервера до "умной резетки".

mike > Вспомни, что и Java'у в своё время полагали убогим -- апплеты, мол, и только.

Java появился (и концепция JVM) как язык для пульта управления телевизором (пультов было много и у каждого своё железо и каждый раз переписывать прогу на C - или держать зоопарк конфигураций для перекомпиляции - программисту, писавшему софт для пульта, стало уже невмоготу - он явился к директору и написал заяву на увольнения, а в это время у директора был Гослинг (James Gosling) - он как-раз что-то слышал в каком-то универе на лекции про байткод, вот Гослинг его и отговорил - мой, чувак, не надо увольняться, мы щас сбацаем тебе JVM и ты будеть ПИСАТЬ ОДИН РАЗ А ВЫПОЛНЯТЬСЯ БУДЕТ ВСЮДУ! - чувак и повёлся.)

А потом возник интернет и всем стало не до пультов.

А что делать с Java? - Решили им рисовать в броузере - и каждый броузер стал поддерживать java-апплеты. - Сейчас все броузеры поддержку их выкинули - ибо эти апплеты - дыра на дыре и дырой штопано.

Однако программисты уже повелись и полезли на сервер - в Enterprise!

Если бы тому программисту что писал софт для пульта телевизора сказали, что Java через 5 лет будет в сфере Enterprise - он бы покрутил у виска!

А потом уж Гугл засунул Java в свою телефонную ОС Андройд - ибо на рынке уже были толпы java-программистов!

Таким образом, Java совершил КРУГ - от пульта для телека через Enterprise опять в коробку-смартфон!

А что с jаvascript ? - а когда ещё один чувак написал этот язык за пару недель и принёс его менеджерам, чтобы они засунули его в броузер, то менеджеры сказали ему - ПРИВЕТ! Засунем щас, но ты, чувак, сделай два дела:

Первое - чувак, у тебя нет ООП, нет объектов - сейчас же всюду симулякры ООП - добавь оператор "new" в jаvascript. - Чувак сказал - пошли вы ... - у меня нет ООП и не будет, никакого "new" - но менеджеры надавили и чувак добавил оператор "new" в jаvascript  где НЕТ ООП!

Второе - чувак, название твоего языка никуда не годно! Сейчас рулит Java, назовём твой язык Jаvascript! - Нет, сказал, чувак, мой язык никакого отношения к Java не имеет! - но менеджеры настояли на своём и мы имеем что имеем!

Но, я про тренды, то про тренды сегодняшнего дня!

Аватар пользователя Petro46

А что делать с Java? - Решили им рисовать в броузере - и каждый броузер стал поддерживать java-апплеты. - Сейчас все броузеры поддержку их выкинули - ибо эти апплеты - дыра на дыре и дырой штопано.

Все ведь не так было, верно?:-) Оракл выиграл у Майкрософт в суде, а Гейтс, в свою очередь, убрал поддержку обновлений Java-машины из броузера IE, который был тогда на вершине популярности. Там осталась версия 1.1 Это всё есть в хороших англоязычных источниках. Вот вы даже этого не знаете, не программист, а лезете со своим непониманием в спор. И тащите туда же свои "симулякры".Foot in Mouth Для чего? 

Петро, ты несколько не прав. JavaScript, как я понимаю, -- это производный язык (в отличие от, например, C++ или Java). Есть реализации JS на C++, есть на Java. JS предназначен для связи веб-страниц с ОС компа.

Не совсем понял слово "производный"?  JavaScript - интерпретируемый язык. Интерпретаторы JavaScript написаны на C++ и Java. Но они считывают и отрабатывают именно код JavaScript. Соответственно, без нужного модуля на сервере и API в броузере JavaScript работать не будет. 

Считается, что для обучения программированию JS наиболее подходящ. Видимо, поэтому школьный препод с ником "Логик" его и пропагандирует. 

Нет, Михаил - JavaScript - довольно сложный язык, с массой производных "диалектов". И для обучения он подходит слабо - там неявная динамическая типизация, кастрированное ООП и ещё много чего путаного.

Серьёзные быстрые многопоточные вещи на нём писать нельзя, но JS развивается.

Да, ему уже 20 лет было в прошлом году. И есть новая версия, продвинутая, уже с классами, коллекциями, генераторами, итераторами и т.д. 

Но там с типизацией - самая настоящая беда. Я так понимаю, что все числовые типы данных там сведены к одному, а точный результат получается проверками и преобразованием. Это не слишком просто, особенно для начинающих:-)

Но, я про тренды, то про тренды сегодняшнего дня!

Вы хлебещете, что попало. Майк во многом прав насчет вас. JavaScript - это не платформа, как Java, например, - это нечто вроде дополнения к основному стеку веб-технологий, не зная которого невозможно ничего полноценного создавать. JavaScript всегда работает в связке с PHP или ASP.Net, например. А  вы услышали звон, повелись на графики, вроде как красиво дискутируете но поскольку в теме ноль, то снова глупо получается...

Вот я одного не пойму, если вы НЕ ЗНАЕТЕ JavaScript и программирование, в частности, зачем в него лезть, да ещё что-то конкретное людям советовать?

Аватар пользователя mike

Ну хорошо, перефразирую: НЕКОТОРЫЕ считают, что JavaScript наиболее подходящ для обучения программированию.

Имхо фишка тут в том, что, внедрив код на JS в веб-страницу, можно получить возможность кое-какого управления компом клиента, а ЭТО ВСТАВЛЯЕТ. То, что на Java вы сделаете на уровне сервера, с помощью JS вы можете сделать прямо у клиента, правда, наамного более простые да и порой платформозависимые вещи. Но экономится время и трафик: не надо таскать через Интернет данные. Получается оффлайновый веб-сервис: скачав один раз веб-страницу, можно многократно использовать заложенный в неё софт. Если, конечно, браузер поддерживает JS. Что с безопасностью? Это к Владу.

Сложен ли JS? Зависит от сложности задачи. Чтобы делать что-то красивое, думается, надо иметь и знать кучу библиотек, быть постоянно в курсе всяких нововведений. Петро, конечно же ты прав: чтобы серьёзно и безопасно обслужить клиента, нужен веб-сервис, писаный на Java, расположенный на сервере. При этом достигается двусторонняя платформонезависимость. JS для этого не годится. И не предназначен.

Аватар пользователя mike

Не совсем понял слово "производный"

А всё просто. Загугли, например, "универсальные языки и языки производные от них".

Аватар пользователя Petro46

В чем-то логик прав (намеренно со строчной):-). 

Самым популярным языком разработки в мире является JavaScript. Об это свидетельствуют результаты ежегодного опроса на сайте Stack Overflow, в котором поучаствовало 50 тысяч айтишников. Более 55,4 процентов респондентов признали, что пользуются именно этим языком программирования.

НО! В то же время, самой востребованной технологией оказался... Андроид. А это - Java. Так что, все у нас хорошо...

Аватар пользователя mike

Самым популярным языком разработки в мире является JavaScript. 

Неудивительно. Сейчас везде на веб-страницах есть вставки JS.

(Логик, я правильно написал частицу "не"? :) )

mike > Сейчас везде на веб-страницах есть вставки JS.

JS лезет есть уже на сервере.

Он проникает всюду как в своё время это делала Java.

mike > чтобы серьёзно и безопасно обслужить клиента, нужен веб-сервис, писаный на Java, расположенный на сервере. При этом достигается двусторонняя платформонезависимость. JS для этого не годится. И не предназначен.

Об изначальном предназначении Java я написал выше - он разрабатывался как язык для встроенных систем (типа пультов для управления телевизором и т.п.)

Тут логика такая: Если всё больше и больше JS программистов появляется - их надо загрузить - поэтому JS сейчас лезет всюду от баз данных до языка встроенных систем ("умные вещи").

petro46 > самой востребованной технологией оказался... Андроид. А это - Java.

Это верно. Фактически Андроид спас Java. Когда Java изгнали с клиента (броузера), то ему был один путь - Enterprise  - а это не так уж и много программистов забирает.

petro46 > Все ведь не так было, верно?:-) Оракл выиграл у Майкрософт в суде...

Изгнали Java из броузера по причине дырявости. Всё остальное не имеет к этому значение.

petro46 > JavaScript - довольно сложный язык, с массой производных "диалектов". И для обучения он подходит слабо - там неявная динамическая типизация, кастрированное ООП и ещё много чего путаного.

"Скрипач ООП не нужен." (С)

petro46 > JavaScript всегда работает в связке с PHP или ASP.Net, например.

JavaScript <=> общается с node.js на сервере. База данных mongo.js (там же, на сервере).

Это кличут full-javaScript-стек.

"Скрипач Java многим уже не нужна." (С)

Аватар пользователя mike

JS лезет есть уже на сервере.

Конечно, тавтолог; а откуда он ещё попадает к клиенту?

:)))))))))))))

Аватар пользователя savely

Threads, Concurrency, - на практике не используются. Ну, почти.

Вот все через ж.. и работает... Ибо при надобности хотя бы минимальной синхронизация потоков и реализации этого "пионером" - все идет в ж..у разнос. 

Я жалею, что спецкурса не было во времена мои учебные, с лабами с хитровыдуманными (но воспроизводимыми) примерами с deadlock и т.п.  Но и не могло быть - меня DOS-у учили... 

Ибо самому практикой это постигать - долговато и "BSOD-но" (или "зависаемо"), а потому - дорого. 

Аватар пользователя mike

Java многим уже не нужна

Ню-ню. Серверы то линуксные, то вендовые, а онлайновые сервисы должны работать везде. Потому и пишутся на Джаве. Потеснит ли её Питон -- хз.

Аватар пользователя savely

 Потому и пишутся на Джаве. Потеснит ли её Питон -- хз.

Надо было тут написать "прокси" типа COM-Ethernet (с COM приходит инфа, ее надо IP-пакетом переслать на сервер. И наоборот, соотвественно). "Прокси" - целый комп, ОС - Linux. Ну, и там еще пару потоков, которые с других источников IP-пакеты шлют в сервер. 

В процессе разработки я разочаровался в одном пареньке (типа "главном"). Но весьма положительно отметил другого (типа "подчиненного"). 

Linux-часть писалась на "C + Питон", штуки 3-4 потоков из Питона рождающихся, но 1-2 - сишные в плане кода. 

Причем я хер понял, зачем Питон. Но "главный" паренек сказал - нормально будет.  

В итоге - "главный" и Питона-то нормально не просекал (хорошо еще, что Питон не в "kernel panic" падает. В процессе отладки я (теоретически нихера не знающий Питон) ему же пальцем и показывал - "здесь вот фигня какая-то". 

В общем, идиотски прикутили watch-dog, который Питона рестарует, если ЁК), а потом "подчиненный" - в конце концов всю работу и сработал нормально (и тот же watch-dog теперь "ну, раз уж есть, то пусть будет"). 

Аватар пользователя Petro46

Изгнали Java из броузера по причине дырявости. Всё остальное не имеет к этому значение.

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

Самое интересное. что когда я пытаюсь излагать факты, нить его .... так называемого мышления никак не может прерваться на их осмысление, понимание и принятие и он плявузгает и плявузгает и плявузгает чушь. 

...Компания Sun предприняла значительные усилия для обеспечения совместимости между Java-версиями по мере их появления. Например, Microsoft Internet Explorer, самый популярный браузер с конца 1990х, имел обыкновение загружать собственную JVM для Microsoft по умолчанию. MS JVM имеет ряд дополнительных функций, не входящих в Java, которые, будучи использованы, будут препятствовать выполнению MS JVM-апплетам в среде Sun’s Java (но не наоборот). Sun предъявила Microsoft иск за нарушение прав натоварный знак, так как суть Java заключается в том, что не должно быть никакого собственного расширения и что код должен работать везде. Развитие MS JVM было заморожено до правового урегулирования, оставив многих пользователей с чрезвычайно устаревшими виртуальными Java-машинами. Позже, в октябре 2001 года, MS остановил включение Java в Windows...

Конец истории... Всё ясно? Или надо ещё сто ссылок?

Аватар пользователя Petro46

"Скрипач Java многим уже не нужна." (С)

А из леса послышалось: "Чушь,чушь, чушь, чушь, чушь, чушь, чушь, чушь, чушь..." :-)







Аватар пользователя Petro46

А из леса послышалось: "Чушь,чушь, чушь, чушь, чушь, чушь, чушь, чушь, чушь..." :-)

Страницы