QA Fest — конференция №1 по тестированию и автоматизации. Финальная программа уже на сайте >>
×Закрыть

Взрывается мозг при изучении Java уже в самом начале

Изучаю Java по книге Хорстманна, первый том, середина, а мне уже довольно сложно усвоить информацию. Вроде, смотрю на итоговый код, все работает, понятно, что за что отвечает, но я почему-то уверен, что эти методы я забуду на следующий день, а применять на практике усвоенный материал мне по-прежнему сложно. Последние 100 страниц где-то недели три «обрабатывал» (читал книгу, гуглил непонятное, спрашивал на форумах, читал статьи с доп. информацией по теме), притом что старался сразу после школы вплоть до сна посвящать изучению Java. На выходных мозг вообще взрывается, когда я 8-10 часов с небольшими перерывами бомблю этот язык.

Возможно, учу как-то неправильно? Или это нормально, когда читаешь Хорстманна и постоянно возникают «непонятки» относительно какой-то детали, а ее описание в книге короткое? Потом я это усвою? Или нужно каждый раз зацикливаться, искать подробные ответы? Просто, знаю, что эта книга одна из самых простых по Java.
Не хочу переходить на другой язык, т.к. твердо решил изучать Java. Если даже я буду рассматривать такой вариант, то будет ли легче? Например, C# должен быть легче, да?

LinkedIn

Лучшие комментарии пропустить

А вы думали, что полистаете книжку и хоп зарплата от $3000? :D

Изучаю Java по книге Хорстманна, первый том, середина, а мне уже довольно сложно усвоить информацию
As with the previous editions of this book, we still target serious programmers who want to put Java to work on real projects. We think of you, our reader, as a programmer with a solid background in a programming language other than Java, and we assume that you don’t like books filled with toy examples (such as toasters, zoo animals, or „nervous text”). You won’t find any of these in our book. Our goal is to enable you to fully understand the Java language and library, not to give you an illusion of understanding.
Возможно, учу как-то неправильно?

Наборот, все just as planned.

То, что ты описал — стандартная отрицательная реакция мозга на твою попытку скормить ему новую, непривычную информацию. Мозг испытывает дикий баттхерт от обилия новой информация, для хранения и обработки которой у него (мозга) нет проторенных алгоритмов. Он фрустрирует, и конвертирует это в те эмоции, которые ты испытываешь.

В какой-то момент произойдет перелом, когда мозг накопит достаточно опыта в анализе непривычной информация и переведет поступающую информацию в разряд «обычной». Тогда все пойдет легче, и вот эти эмоции резко пойдут на убыль.

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

что эти методы я забуду на следующий день

Конечно забудешь. Ты забудешь 100500 методов. Ты просто будешь знать что для решения задачи Х где-то был такой инструмент Y или Jy или Y4J или как-то так, который ее решает. Потом ты погуглишь и скопируешь из %page_name% код вида new Y().resolve(x); и перейдешь к другой задаче, выбросив из головы и X и Y. В какойто момент решение большинства мелких задач перейдет на рефлекторный уровень, и твой мозг перейдет к сосредотачивания на задачах не как написать баблсорт, а как сделать кнопку «сделать збс».

Могу сказать с уверенностью — кричать Вильна каса значительно легче, и вакансии всегда есть.
Не входи в айти, — иначе жизнь пройдет мимо.

учу как-то неправильно?

Между «изучением английского» и «изучением языка программирования» есть кое-что общее. А именно — неправильное слово «изучение». Языки изучают только филологи. Перестаньте уже учить язык.

То, что вам нужно, называется «обретение навыка использования» — это не учат и не изучают, это упражняют, тренируют, вбивают в рефлексы.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ментор нужен, т.е. чувак, который укажет тебе где ты делаешь ошибки. Первопроходцам всегда трудно

Почем в месяц берете? Я серьезно.

Не беру, т.к. менторством не занимаюсь «професионально». Но Если есть вопросы, пиши в лычку

Можу сказати одне, я почав своє «програмування» 1к годин постійного навчання/практики тому, з книги «Філософія java»... Якось я її прочитав майже всю... Може 30% зрозумів. А реально заходити ця диво книга почала мені тільки зараз, коли є вже яка-не-яка база. Код прикладів легше в рази читається, патерни вловлюю, і саму суть розумію. Рік пройшов... Тому, не дуже сприймай різні поради прочитати список із n книг.... Нащо таке навчання, коли ти тупо скіпаєш те, чого не розумієш, а не розумієш аж раптом більшість з того, що читаєш... Книг має бути не більше 3. Але хардкорних. І зачитаних до дірок. «Філософія Java» 100% одна з них.

Навчання це дуже складний процес. Тут нема одного способу який би всім підходив. Хтось уловлює лише на практиці, а хтось читає книгу і починає розуміти. В будь-якому разі патерни є сенс вчити лише тоді коли ти вже знаєш програмувати. Вчити їх одразу всерівно що надіятися вивчити написання віршів не вміючи простий текст написати про як я провів літо

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

Это норма. А ежле начать ее учить, когда твой возраст требует шесть битов, то ховайся...
Java как язык — 40 ключевых слов. Это лишь 10% от той экосистемы, которую сейчас подразумевают, когда говорят «пишу на Java». Еще 20% — это обширная библиотека классов, которые наизусть никто не помнит. Еще 20% это ООП, паттерны, готовые решения, которые заранее считаются лучшими и требующими обязательного выполнения. Еще 10% это opinionated фреймворки, которые стали стандартом (Spring). Еще 10% это разнообразные тесты. Еще 10% это IDE, без которой ничего сложнее hello world не написать и не собрать, что немаловажно. Еще 10% это разные DevOps штуки вроде Docker, Jenkins и хрен его знает что, без чего на продукцию не выкатишься. Еще 10% это серверы приложений, Томкат его величество и другие. «И вот с этой всей хренью мы попытаемся взлететь...»
Скромный совет — не пытаться «изучить» все и сразу, входить постепенно от простых но работающих проектов, и главное непрерывно писать писать писать код, «пальцы запомнят».

А коли вік потребує 6 бітів? 85?

Попробуй project-based learning? То есть написать на Java какой-то небольшой проект.

Джава как язык — достаточно простой. Но писать на нём что-то рабоче-надёжное очень сложно.

Может в писателе проблема?

Не, с писателем всё в порядке, я не про саму потенциальную возможность написания, а про трудозатраты. Я сравниваю трудозатраты по написанию рабоче-надёжного на джавке и на скале, и последняя пока что в 2-3 раза по трудозатратам выигрывает. Особенно, когда доходит до многопточности — IO монаду в джаву хоть и с большим количеством извращений завели из scalaz — но писать на ней это чистой воды извращение, и не java-way это. А всякие RX библиотеки такое себе удовольствие, никакой надёжности.

Особенно меня радует в скале возможность писать REST-сервисы в `3 строчки` кода на акка-шттп с приятным dsl для эндпоинтов, асинхронностью из коробоки и интеграцией с акка-стримами(привет потоковая обработка данных). Ну это уже и не говоря о интерпретаторе из скала-кода в SQL работающим как dsl(привет slick) и системе типов (она кстати частично поддерживает зависимые типы), которая уничтожает все характерные джавные ошибки ещё в зародыше. Вместо того чтобы писать уродства if( x == null) и try catch, которые бесполезны чуть менее чем полностью, можно пользоватся монадами.

Это так в кратце о том почему на джаве сложнее что-то рабочее написать.

Легко и с песнями. Во первых, код на скале отличается лаконичностью, ибо там нет многих кодораздувателей (for, while, try, catch, Borsch borsch = new Borsch(); IAbstractProxySingletonFactoryBean, if(_ = null) и им подобных). Во вторых, способов масса, всё зависит от количества завзятости и времени. Самый простой из способов — взять сарси(circe.github.io/circe/codec.html) в виде бекенда(умеет превращать любую замкнуту семью кейс классов, а так же того, для чего притянуты кодеки в JSON и на оборот синтаксисом .as[T] и .toJson ). Мы кастим любой класс к JSON а JSON превращаем в то что нам надо(мне нужно было кастить один раз в BSON и это заняло у меня 5 ч кодинга и 200 строк кода). Второй вариант форкнуть сарси, и заменить то место где они там кастят из/в JSON на код который кастит нужный вам формат. Третий вариант изобрести свой велосипед который кастит класы к тому что нужно на макросах из квазиквотуов, на самом деле не слишком сложно.

Зачем, это уже сделано. В скале так вообще можно включать var и поехали, если скорость не удовлетворяет. ФП не про скорость, ФП про надёжность, и применять его нужно соответственно, а не для прорамирования микропроцессоров.

Ну да, конечно, у нас же топовые процессоры это 8086 и 640кб пзу хватает каждому.
PHP не имеет системы типов на этапе компиляции, и ничего гарантировать не может.
Хорошие системы типов, гарантировать, что код правильный, могут. К ним отностся:

ru.wikipedia.org/wiki/Система_F

ru.wikipedia.org/wiki/Зависимый_тип

А тесты — не могут.

Не буду спорить, я не знаком со Scala достаточно хорошо для этого. Оригинальный коммент был о сложности Java вообще, а не о Java vs Scala. Как по мне то всё описанное частности и «надежная» реализация на Java не составляет никаких проблем. Что там из коробки, а что идет как third party не так уж и важно, если уметь это готовить. Мне всегда гораздо «трудозатратнее» было продумать решение до написания кода. А вот когда есть четкое понимание задачи и проблем которые нужно решить (ну и подводных проблем там), то кодинг превращается в nobrainer под музыку (или даже пиво, при желании/возможности).

рабоче-надёжное очень сложно

Согласен- вот на с++ куда проще рабочее писать funnyjunk.com/...​82045/Learn c in 21 days

кортинка должна объяснять, что для других языков ничего учить не надо?

На С++ ещё сложнее, потому что мест где можно что-то запороть намного больше чем в джаве.

Пока не покажешь сертификаты www.coursera.org/...​izations/java-programming — можно даже не писать

Теперь на курсере плата за месяц?
За курс + сертификат уже денег не просят? (знаю, что просмотр доступен бесплатно)

Вообще, стандартного школьного английского, преподаваемого в Украине, не хватит на прохождение англоязычных курсов.
Мне потребовалось весьма много времени, чтобы наработать словарный запас при помощи онлайн-обучалок, типа lingualeo и lingvist. Сначала тренировал слова долго и мучительно, иногда желая сломать себе пальцы, т.к. ошибался на ровном месте регулярно, но теперь хоть могу довольно легко понять многие тексты или сериалы/фильмы (пока еще с англоязычными сабами). Так это в школе я еще не спал и ворон не считал на уроках английского, но уже после окончания школы как только понял, насколько хреново я его знаю, ужаснулся. То, что в школах и ВУЗах большое количество времени уделяют именно грамматике — вообще мракобесие. Все отличники знают, как построить предложение, но дай им прочесть любой длинный текст, они будут спотыкаться через каждые 5 слов, потому что словарный запас ниже плинтуса, они его и нарабатывать не стремятся, потому что образование заточено на грамматику, а не словарный запас, хотя реально поговорить с носителем лично, без словаря и чьей-то помощи, они будут уже не в состоянии.

оправдание. это херня. на собесе у меня такие сразу на юг

Шта?
Это факты про обучение в топике про обучение. Это не топик про собесы.

Ну сорри — недопонял. Для меня это выглядело, как попытка оправдания вместо учёбы.
Ок — проехали. Теперь по-сути.
1. Курс по жабе на курсере — если нет бабок — жмём кнопочку Audit. В чём проблема-то? Ну не получишь сертификат — зато джаву выучишь базово.
2. С английским не понял по модулю. Подход к изучению к ЯП и к иностранному языку отличается принципиально. Если ты пытаешся сказать что на курсереовской спеке жаба не практична и в реальном проекте больше толку — рекомендую посомтреть на курс в детале.

С английским не понял

Курс на английском.
Автор топика школьник, судя по тому, что джаву он учил, по его словам

сразу после школы вплоть до сна

Потому я и спросил про цену и расписал про английский.

Технические книги, так же как и боьшинство курсов — достаточно просты. Там используеться оч простой язык, без какихто замысловатых слов и фраз, ибо суть курса научить предмету, а не сбивать с толку замысловатым языком. Нескольких технических книг прочитанных вместе с словарем (желательно по теме о которой уже имеешь представление) должно быть достаточно, чтобы изучить терминологию, и словарем больше не пользоваться.

Когда начинал изучать, со словарем читал первые 100-150 страниц, потом словарный запас увеличивался достаточно, чтобы понимать остальную часть книги. И Lingvo очень помогает с переводом незнакомого слова по Ctrl+C+C.

Большинство курсов ставят низкий потолок на зарплату.

Курсы по реально хардкорным темам требуют вагона словарного запаса и понимания замысловатых фраз.

Посмотри лучше книжку Java How to program сначала. В ней 100500 задач на каждую тему. Когда в сотый раз пропишешь то-то оно у тебя уже будет работать не автомате. А Хорстмана уже потом, когда автоматизм достигнут и надо понимать, как это все работает. Короче учиться играть на пианино надо не с Баха, а с чижика-пыжика и гамм.

первый том, середина, а мне уже довольно сложно усвоить информацию

Значить не ту книжку Ви вибрали. Насправді, цілком нормальна практика перебрати десяток різних книжок, доки знайдеться «свій автор». Більше того, може бути таке, що в одного автора щось одне добре написано, а в другого — щось інше. І навіть ще більше — оце «добре — не добре написано» — цілком індивідуальна річ і десяток людей можуть радити якусь книжку як просто шикарну, а от конкретно Вам вона візьме й не підійде. Сам порівняно недавно хотів де в чому розібратися, так штук 20 книжок перетріс (певно, все що було в інтернеті по темі перекачав), доки знайшов в одній так написано, щоб до мене дійшло.

я почему-то уверен, что эти методы я забуду на следующий день

І правильно, з таким же успіхом і користю можна телефонний довідник зубрити. Власне, чимось таким наші школи та вузи примушують всіх займатись, ото Ви й продовжуєте за звичкою «шкільну традицію». За межами цих закладів все працює трохи по-іншому: якщо Ви чимось користуєтесь — воно само так вгризеться в пам’ять, що потім не витравиш; якщо ж щось вчити без застосування, то воно забудеться майже моментально (тай добре, нащо голову захламляти). І сюди ж шкільна звичка вибирати «єдиний і непорушний» підручник, а потім страждати над ним до посиніння. Задача не в тому, щоб прочитати якийсь об’єм тексту, зазубрити, а головне — якісно втомитися, щоб аж піт капав — це лише в школі та вузі оцінять. Задача — навчитися писати програми певного рівня складності. І якщо необхідна для цього інформація міститься 7-й главі книжки А, 1-й главі книжки Б і 13-й книжки В, то от саме їх і треба прочитати, а не шукати «ідеальний підручник».

применять на практике усвоенный материал мне по-прежнему сложно

От якраз на застосунок найбільше і треба було напирати. Інакше толку знати напам’ять телефонний довідник, якщо не вміти користуватись телефоном?

Последние 100 страниц где-то недели три «обрабатывал»

Якщо Ви думаєте, що це багато, то я Вас розчарую — порівняно недавно потратив більше тижня на одну(!) сторінку.

притом что старался сразу после школы вплоть до сна посвящать изучению Java
На выходных мозг вообще взрывается, когда я 8-10 часов с небольшими перерывами бомблю этот язык

У мене провокативне питання: на дідька Вам в шкільні роки так здалась та Java? Це ж не навчання, а садомазохізм якийсь.

P.S.

Возможно, учу как-то неправильно? Или это нормально, когда читаешь Хорстманна и постоянно возникают «непонятки» относительно какой-то детали, а ее описание в книге короткое? Потом я это усвою? Или нужно каждый раз зацикливаться, искать подробные ответы?

Не відразу «розпізнав» питання в кінці, але, в принципі, вище відповів в тій чи іншій мірі на всі.

Насправді в мене проблеми були не з Java, просто загальні «філософські» підходи до навчання більш-менш універсальні і переносяться в тому числі на вивчення Java.

До речі, список книжок виглядає «зачотно». Якщо пан ТС мене чує (а то створив тему і пропав), я би дійсно радив там покопатися і пошукати «свого автора». Окремий лайк за книжку Herlihy M., Shavit N., The art of multiprocessor programming — там є просто шикарна задача про вимикач :)

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

От 8-10 часов усваивания новой информации у большинства голова закипит. Может не стоит так налягать? От себя скажу, что если получается «усидеть» 4-6 часов подряд — это успех. 8-10 — это значит прям «твое». Но я правда настаятельно рекомендую не налягать, а то узнаете что такое «программист перегорел» еще не став программистом.

Если на ноотропах, то по 8-10 часов вполне можно сидеть.

Фезам и фенотропил. Эффект есть, побочек нет.

Попытаюсь тебя спасти о будущей дурки.
Во-первых, выше о 8-10 часах туфта — это вообще почти плацебо.
Во-вторых, если вдруг на тебе сработают, то тебя ожидает дурка через 5 лет.

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

Если начнет сыпаться сон, то витамины группы В и фенибут курсом, принимать перед сном.

Во-вторых, если вдруг на тебе сработают, то тебя ожидает дурка через 5 лет.

С чего такие утверждения?)

С уже понимания того, как работает наш мозг. Для него очень важна, например, отличная работа кишечника больше, чем собственно глюкоза и витамины.
А ноотропы — это вообще баловство большей частью.

Кстати, ТС — ты не один такой. Вот я — опытный сениор (правда, не Джавист) сейчас пишу вот такую хрень
double[] yields = (((InterpolatedNodalCurve)(multicurve.getDiscountCurves().values().toArray()[0])).getYValues()).toArray();

Мне, конечно, проще — потому что я знаю, что (не)должна делать бизнес-логика, которую мне подбросили на анализ. И на первом этапе моя задача — просто проверить, что она там считает. Но вот если придется ее расширять ... бррр!

Кстати, как мне каат-ся, я начинаю понимать причину успеха Go (помимо того, что за ним стоит ogle)

причину успеха Go

Типізований пхп для бувших домогосподарок(які пхпшниками стали)?

Типізований

Это уже много, но я его тут не с ПХП сравниваю, а с bloated java.
В задачах, где компутеры компутят — т.е. считают — совершенно неполезно для восприятия (и вредно для перформанса) double[] паковать в некую обертку DoubleArray, потом это еще в некую коллекцию и пошло-поехало.

Go вроде как побуждает писать лапидарно и по существу и дает легкую параллелизацию задач. Впрочем (пока что) — это метафилосовские рассуждения — до практики руки еще не дошли, и дойдут только если найдутся желающие платить за решения на Go :)

Ну, скажем так, почему-то в языках богатых фичами их стремятся использовать по поводу и без (причем чаще — без).
В моих заметках по QuantLib — это библиотека на плюсах —
www.yetanotherquant.com/...​Lib/book/BookQuantLib.pdf — на стр. 29 описан случай оверинжиниринга с темплейтами, в результате чего, например, Doxygen не распознает иерархию наследования (она становится однозначной только когда темплейты инициализированы конкретным классом).
Луиджи Баллабио — отец квонтлиба — с критикой в целом согласен, более того, сам в своем интервью говорит take the Black-Scholes formula, which is the most basic in a Quantitative Finance library, if you look for it in QuantLib you’ll find no single, simple function which gives you the Black-Scholes price for an option
www.moneyscience.com/...​rview-with-luigi-ballabio

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

ну как бэ там нибыло- но докер, кубернетес, графана- написаны именно на гоу. Да, может это и не удобный язык (для кого-то)- но вещи интересные на нём делают уже сейчас

То что Go — перспективен, у меня лично сомнений не вызывает.
А под

если найдутся желающие платить за решения на Go :)

я понимал свою область — финансы и датасцаенс.
Вот насчет этого у меня есть сомнения — т.к. DS — это R и Python, а финансы — тут уже много чего есть на плюсах (и чуть поменьше на Яве) — поэтому вряд ли кто захочет инвестировать в переписывание бизнеслогики с нуля.

«Да, но ето нє точно..»))
Написаний сервіс для одного із швейцарських банків близько року тому... досі підтримується і маштабується..
Один із скандинавських операторів контейнерних перевезень, з Java перевів кілька сервісів на Go.. саме що стосується руху коштів, контрагентів, відслідковування перевезень, тощо... Дещо з цього навіть з використанням DApp.. ;))

С с многопоточностью и человеческими строками.

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

Тести якісь с запитаннями типу «що з цього не є модифікатором...» теж обов’язково проходити. Доведеться і зубрити, щоб все тримати в голові, а не в книжці, бо на співбеседі часто будуть, як на екзамені, «базу» перевіряти, щоб вирішити «чи варто продовжувати».

Скорее всего, вам нужен ментор либо преподаватель на курсах, который будет отвечать на сложные вопросы, объяснять непонятные темы и конечно давать практику, то есть некоторая обратная связь при изучении Java

Скорее всего ему надо писать больше кода. Своих проектов. Тогда абстракции из книг начнут приобретать ценность.
А так, никакой памяти не хватит запомнить, почему иногда вместо new BigDecimal(0.2) нужно писать BigDecimal.valueOf(0.2)

А кто его код будет проверять/ревьюить? Или он сам должен будет догадаться, что код хорош или плох?

Начать писать тесты, потом почитать дядю Мартина, и будет нормально. А дальше работа и там вопрос с ревью отпадет.

Такое возможно для для 2-3% людей, которые с лету будут писать отличный качественный код и разбираться во всех премудростях ООП и дизайна. Для всех остальных нужно обучение или менторство

Не уверен, что вообще есть такие люди. У меня, например, более ни менее приличный код получается только с 3-го его переписывания с 0, каждый раз (но с пониманием ошибок предыдущих раз). И это при 25 годах опыта в С и С++.

Якщо початківець, то досить не поганий автор Герберт Шилдт

Да, читал Шилдта по C# - очень-очень доступно объясняет базовые принципы.

Вам будет непросто.
Это отличные языки, но в них 1001 библиотек, пакетов и так далее.
+ еще длительная история развития, куча Legacy. Шарахаться не стоит. Во т взялись Java, учите.

Думаю, что стоит сделать так:
1) Ненавижу курсы, но в Вашем случае придется. Начните проходить что-то online адекватное, к примеру — JavaRush.

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

3) Каждую тему, которую прошли на курсах ищите в книге и разбирайте, делайте выписки
Подружитесь также с оф. документацией — она прекрасна.

4) Подружитесь с шаблонами проектирования
купите «Head First. Паттерны проектирования» (блондика на обложке), чтобы понимать как решаются типичные задачи

Так обычно бывает, когда вчера самой сложной проблемой было отсчитать сдачу за пиццу или продумать как лучше развезти пакеты по доставке. А затем мысль — лучше вкачусь в айти. Сидят ведь задроты какие то, кнопочки тыкают. Фигли там сложного и килобаксы получают. Но, внезапно....

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

Люди різні: одним легко дається математика, іншим — література, ще іншим — музика. Якщо тобі щось дуже важко — то скоріш за все, це не «твоє».

Мені було з початку, з 0 — дуже важко. Я з Філософії Java починав. Але подобалося і подобається.. Дуже важко — не критерій.

Так, ви праві, треба ще додати фактор подобається чи ні.

Троллить голддигеров-пиценосцев — почему это плохо?
Никто не гнобит пламяоких джунов, которым это нравилось «сдецтва». Просто раздражает дикий хайп по всем сми, отсюда и толпы вайтишников — которые даже не знают какой язык им выбрать в 30+.
Просто услышали — вайти куча бабла, и пофиг. А что кодить, на какой платформе и т.д. пофиг. Что показалось более оплачиваемым или легким- за то и взялись.
А потом нытье — ой сложно, ой книга не идет.
Блин, да с такими вопросами как они создают на ДОУ их надо еще и на курсы по Гугл серчу отправить.

Что плохого в желании зарабатывать достойные деньги?

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

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

100 процентів. Тільки 1 із 100 це не правда ) скоріше якщо взяти 100 серйозно налаштованих, то 50 з них точно рано чи пізно стануть ) Я так думаю Україна скоро, замість експорту зерна буде спеціалізуватися на експорті коду. І це чудово.

как лучше развезти пакеты по доставке.

между прочим решение транспортной задачи — это далеко не всегда просто.
Потому не стоит так свысока об этом говорить.

Амортизація тз, найоптимальніший маршрут, собівартість і час доставки... Нє-нє, не чули...

Йдеться про uk.wikipedia.org/wiki/Транспортна_задача

Колись на моєму проекті розв’язували цю задачу. Точніше, ми шукали не найоптимальніший розв’язок, а близький до оптимального.

Теория графов — непростая тема

Софт-скиллов разносчику пиццы нужно не меньше, чем программисту. Это не такая неквалифицированная работа, какой её принято считать. :)

Очевидно він ніколи не замовляв піццу=)

Почти каждый день заказываю пиццу. Какие софт-скиллы, о чем ты/вы. Если не забыли положить салфетки и не смяли пиццу в кусок бесформенного теста — уже супер, просто гений доставки :).

Это надо знать правильные места, где заказывать)

у кого что болит.
если перечитать топик, то можно понять, что ТС — школьник, который учит Java

Просто, знаю, что эта книга одна из самых простых по Java.

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

Тот же Рихтер по сишарпу он далеко не для чайников.

Автор. Не комплексуйте і не беріть це до голови.
Входіть в ІТ і далі впевнено та наполегливо. Вас таких вже багато.
Попросту із вас не вийде топ-перформер, а всього лише — звичайний галерний гребець.
Будете заробляти не 5 штук баксів, а всього лише — 3000 баксів чистими.
І це по сьгоднішнім рейтам. Із часом — буде більше.

Попросту із вас не вийде топ-перформер

Та ладно. С чего такие выводы?

Із низького перформансу?
А яка ваша думка?

Так автор только начинает въезжать. Мне тоже было очень сложно вначале. Дальше будет зависеть от того, на сколько он глубоко копает и еще от дюжины разных факторов.

У нього стільки часу, що при бажанні вивчить і c і хоч асемблер і буде заробляти самий можливий максимум. «Звичайний галерний гребець» буде з того, хто вирішив, що він «звичайний галерний гребець». Для інших є саморозвиток. Головне, щоб хотілося.

Даю подробный, развернутый план.
Ты все делаешь неверно, твое чтение книги помогает тебе в изучении программирования не лучше, чем чтение состава освежителя воздуха, сидя дома на толчке.
У тебя есть несколько вариантов как прийти к успеху. Первое, быстро заработать нужную сумму денег, на работе где не нужно ничего уметь ( вроде работа в мак.даке или еще где ), а после пойти на курсы и тебя там всему научат. Второе, скачать курсы с торентов и начать учить все самостоятельно или заменить этот скаченный курс книжкой, это особо и не важно.
Если ты выбрал второй вариант, то первое, что ты должен знать, что прочитать не значит понять. После прочтения главы книги или просмотра урока, ты должен выписать себе в отдельный файл( страничку в блокноте) описание того, что ты выучил и зачем оно вообще нужно.
Например: Массив — механизм языка, который представляет множество однотипных
объектов.

Синтаксис: тип[] имя = new тип[размерность];

Зачем нужен:
— Удобен для хранения любого количества однотипных объектов;
— Позволяет легко манипулировать объектами которые он содержит;

Конкретный пример: Пишешь конкретный пример.)))

Далее начинаешь воплощать полученные знание на практике. Твоя задача начать писать простые программы. Качество кода пока не важно. Если не получается писать самому, действуй по принципу «Воруй ̶У̶б̶и̶в̶а̶й̶ Вставляй». Если уже не помогает, то твой путь лежит на stack overflow. Что писать особо не важно, это может быть парсер, бот для телеграмма или другая ненужная штука.
Когда поймешь, что готов ( ты начал писать более менее пристойный код) идешь на внутренние курсы какой либо компании или же кидаешь свое резюме в любую компанию.
PROFIT — ты успешен! Мужчины хотят быть тобой, женщины хотят быть с тобой и ты получаешь 300 килобаксов в секунду за сам факт своего существования.
Или нет :)

Описал ты конечно очень упрощенно,нужно кодить каждый день по 5 часов,читать книги,статьи,cмотреть туторы,практиковаться,пройти несколько,или хотя бы полный курс на udemy,treehouse,либо где-то еще,делать пет проекты — потом уже ходить по собеседованиям. После кучи неудачных собеседований понять что ты всетаки еще нулевой и зеленый и закинуть либо ныть что тебя не берут как делает большинство,либо переосмыслить все и опять усердно учиться и попасть в кантору на ентри позицию где тебя начнут учить не без твоих усилий. Я на самом деле понял с этого момента,насколько парни сильно кодят и какой я еще раз нулевой,и что мне нужно быть настолько жестким как эти парни как минимум. И тут если ты думал,что ты довольно быстро и стремительно обучался дома,ты будешь обучаться еще в раз 5 быстрее нежели все твои предыдущие попытки. И тут наверно начинаеться путь Вайти,самому нужно еще много увидеть,поэтому дальше не скажу что и как.

А можна просто любити програмування і з фаном поглинати все. Це замість бути жостким пацаном що надриває зад по скільки то годин.

Теж правильно,але ти ж бачиш,що в більшості люди вирішують все змінити і піти кодити,бо всі нормально заробляють і тому,якщо ти бажаєш цього — то йди і надривай зад і добивайся своєї мети.
Вбільшості ті,які люблять програмування,починали ним зразу займатися не думаючи ні про що.
В будь-якому випадку я поважаю обидві категорії — любиш програмувати і заробляєш цим на життя? Респект. Програмуєш,бо ти вгризаєшся за можливість реалізувати свої амбіції і хочеш заробляти і рости — твоє право. Респект.
Це зовсім різні категорії людей,але всі заслуговують поваги не залежно,які мотиви тут присутні.
Можеш мене поправити,якщо я неправий

ще навіть краще,ну я не думаю,що 1 тип ненавидить кодінг,деякі люди навіть нереально вгризаються по кар"єрній ланці і можуть мати нереальні знання і кодити як дурнуваті. Все залежить,що ти хочеш від цього у кінцевому результаті.
Багато успішних(в матеріальному плані),вивчають від бізнес інфраструктури всієї до тонкощів роботи девелоперів працюючи кодерами,і стараються всі зароблені ресурси вкласти в свою справу. Як СЕО алібаби казав:"у 20 років найди хорошого шефа і наставника,під керівництвом якого ти можеш йти,вчитися і все бачити,до 30-35 пробуй робити і вкладати гроші,в чому ти розумієшся і бачиш переспективу для себе,поки від тебе ніхто не залежить,якщо це не твоє і тобі не вдається — роби те,що ти вмієш найкраще і розвивайся в цьому напрямку до самого кінця."
Мені здається,що це досить доречна річ для багатьох людей

Ти правий, але не зовсім. Я сумніваюся що без цікавості до програмування можна рости. Хоча всі люди різні. Мене самі гроші не можуть мотивувати. А любові не склалося, бо при неврозі не засидиш за дрочінням програмування на достатньому рівні щоб були цікаві результати. От потрохи поправляюся і вже більш заходить. Хочеться бути хорошим спеціалістом, саме це надихає. І грошей хочеться, але вони приходять і йдуть, збирати їх, рахувати — мене це вбивало і вбиває. А коли ти працюєш з цікавості ти не дивишся на суми, а вони ростуть. Хочеться жити роботою, тоді все буде як по маслу.

Не согласен, на счет кодить по 5 часов. Нужно решать новые и новые задачи, а написание кода это не так уж и сложно. На счет курсов udemy ничего не скажу ибо не проходил и вообще java это не мой профиль. Но как JS-прогер могу сказать, что все зависит в первую очередь от желания человека и возможностей его мозга. Кому-то нужно меньше времени, что бы освоить технологию, а кто-то сидит по 5 часов.

Не знаю, що то в явян за книга, але можу порадити чергувати читання теорії із практикою. Більше педалити (і читати чужий код). Бо засвоїти чисту теорію без практики важко, вона вилітає з голови нічим не закріплена. До того ж в прикладному програмуванні практика, мабуть, важливіша за теорію.

Просто ты мало времени уделяешь. Вот в сутках же есть 24 часа, а ты только 8-10. И то только по выходным.
Так тебе не стать System Architect в 17ть !
Сдал бы уже экзамены экстерном и уделял бы нормально времени джаве.

Возможно, учу как-то неправильно?

Наборот, все just as planned.

То, что ты описал — стандартная отрицательная реакция мозга на твою попытку скормить ему новую, непривычную информацию. Мозг испытывает дикий баттхерт от обилия новой информация, для хранения и обработки которой у него (мозга) нет проторенных алгоритмов. Он фрустрирует, и конвертирует это в те эмоции, которые ты испытываешь.

В какой-то момент произойдет перелом, когда мозг накопит достаточно опыта в анализе непривычной информация и переведет поступающую информацию в разряд «обычной». Тогда все пойдет легче, и вот эти эмоции резко пойдут на убыль.

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

что эти методы я забуду на следующий день

Конечно забудешь. Ты забудешь 100500 методов. Ты просто будешь знать что для решения задачи Х где-то был такой инструмент Y или Jy или Y4J или как-то так, который ее решает. Потом ты погуглишь и скопируешь из %page_name% код вида new Y().resolve(x); и перейдешь к другой задаче, выбросив из головы и X и Y. В какойто момент решение большинства мелких задач перейдет на рефлекторный уровень, и твой мозг перейдет к сосредотачивания на задачах не как написать баблсорт, а как сделать кнопку «сделать збс».

Конечно забудешь. Ты забудешь 100500 методов. Ты просто будешь знать что для решения задачи Х где-то был такой инструмент Y или Jy или Y4J или как-то так, который ее решает. Потом ты погуглишь и скопируешь из %page_name% код вида new Y().resolve(x); и перейдешь к другой задаче, выбросив из головы и X и Y. В какойто момент решение большинства мелких задач перейдет на рефлекторный уровень, и твой мозг перейдет к сосредотачивания на задачах не как написать баблсорт, а как сделать кнопку "сделать збс«.

Вот бы еще собеседующие «синьоры» это понимали.

Да все это понимают, но базовые вещи и специфику языка/технологии знать нужно, конечно это не значит, что нужно знать точную сигнатуру всех методов стандартной библиотеки того или иного языка. Зачастую бывает чуваки считают, что им вот должны сразу дать оффер просто после разговора по душам и рассказа о том, как он круто решал задачи где-то в Puls Software, а когда спросишь там, например, о equals/hashCode контракте — удивленные глаза и недоумение, типа, а нах я это должен знать, могу ж прогуглить. Проблема в том, что нужно хотя бы понимать, что гуглить.

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

Какие выводы хотели сделать интервьюеры из моего ответа, для меня до сих пор загадка.

Почему у меня нет «стандартной» реакции и никогда не было? Псевдопсихология какая-то, ничем не обоснованная

Может, ты просто ничего сложного с нуля не учил? А может, просто гений.

не только в программировании, у меня ни на что нет описанной реакции

Почему у меня нет «стандартной» реакции и никогда не было?

Варианты:
1) ты гений (нет)
2) она была, но ты забыл. Забывать то состояние, когда ты чего-то важного не знал, а сейчас знаешь, и это норма — тоже вполне обычно для мозга. Как пример ru.wikipedia.org/wiki/Проклятие_знания

Псевдопсихология какая-то

Ніт

Не 2й вариант точно, вот, например, сейчас если сесть учить латынь, то я не буду испытывать того что ты написал, скуку — да, но не более того

Ну вот у меня это тоже проявляется в виде лени и скуки.

сейчас если сесть учить латынь, то я не буду испытывать

Конечно не будешь. Ты знаешь как минимум английский, возможно еще какойнибудь язык. Это значит, что для твоего мозга изучить н+1 иностранный язык — задача из разряда типичных. У твоего мозга уже есть средства и методики, наработанные в прошлый раз, для обработки подобных задач в будущем. Задача тривиальна, и требует от мозга только периодического повторения уже знакомой деятельности, т.е. только усидчивости. Вот она, твоя лень и скука.

печаль какая-то... постигать искусство сапера, гробокопа, цирюльника и т.п. я ничего из этого да и похожего не делал, мне будет скучно, если начать

Складывается ощущение, что есть мнение твое и неправильное. В работе тоже так? Разработчики не разбегаются?

Складывается ощущение, что есть мнение твое и неправильное. В работе тоже так?

скорее да, чем нет

Разработчики не разбегаются?

не разбегаются, наоборот, более лояльного руководителя (если придется руководить) и представить нельзя

а касательно моего мнения — это лишь мнение, я обычно добиваюсь применения своих решений демократическим путем, а не диктуя условия, к тому же я тоже пишу код и все мои решения направленны на упрощение и улучшение понимания этого процесса, соответсвенно альтернативное мнение — это сложно/непонятно/быстроНаВчера, если человек с таким мнением находит поддержку большинства, то мне там делать нечего, я не готов вести проект, на котором багофикс, овертаймы, постоянные проблемы и хитрые подвыверты для того чтобы делалось хоть что-то

альтернативное мнение

Далеко не обязательно

сложно/непонятно/быстроНаВчера

Наоборот, может быть направлено

на упрощение и улучшение понимания этого процесса

но отличаться от твоего.

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

Звучит-то оно правильно, только меня не покидает чувство, что твоим подчиненным невероятно трудно тебя в чем-либо убедить, что может невероятно демотивировать. Хз чего меня это парит. Работает и не трогай.

Нифига ты развалил круто)

Ні, перевірено на власному досвіді. Гарантія 100%.:-)

А зачем по 8-10 часов бомбить? Я лично что-то учу когда у меня к этому появляется тяга, желание. Если есть желание значит есть интерес, а с интересом учить легче, так и запоминается материал, а если насиловать мозг через «нехочу но нада», тогда ничего не выйдет. Или может вам работодатель приказал выучить джаву за неделю и выходить на работу?

Легче будет только не учить язык.

Ти ту книжку хоч напам’ять вивчи — толку буде мало. Є інший спосіб: берешся за задачу і робиш.

Копіюєш шматки коду зі Стек Оверфлоу, міняєш місцями рядочки, якщо не працює, ловиш ексепшни в обличчя, довго гуглиш, що ці ексепшни значать, доводиш все до пуття і отримуєш найгірший проект у своєму житті, на який можна буде через рік подивитися і вжахнутися.

Повторюєш кілька разів, вивчаєш кілька розумних слів і вперед на співбесіду в якусь канторку, допилювати легасі, яке місцями гірше навіть за твій код. Одне добре, гіршим його не зробиш навіть ти.

Десь через рік чіпляєш на себе личку сіньйора (або мідла, продавати тебе все одно будуть як сіньйора) і йдеш на галеру побільше. Там кілька разів завалюєш продакшн, отримуєш лящів від архітекторів, які на роботі чомусь тільки бухають і дивляться порно, тому код не комітять взагалі і таким чином помилок не роблять ніколи. Твоя задача за два-три роки стати саме таким архітектором. Потім можна і кодити у своє задоволення, і книжки читати, і курси всілякі проходити в робочий час, поки клієнт насипає тобі тисячі в місяць. Саморозвиток, чьо.

А якщо серйозно, то книжки працюють тільки тоді, коли вже натикався на те все, що там описано, в реальній системі. Знав що це, але не знав, як називається. Будь-яке інше використання книжки — марнування часу і ментальних ресурсів.

Будь-яке інше використання книжки — марнування часу і ментальних ресурсів.

Книги дают понимание как еще бывает и в какую сторону смотреть, когда встретится на проекте.

Ти ту книжку хоч напам’ять вивчи — толку буде мало

Знаю пример, когда программист с большим опытом в C# постоянно смотрит в книги или справочники. Не знаю точно, что он там ищет, но все же ищет.
Так что и от заучивания может быть толк.

Мне в свое время помогло то, что я старался понять как думают программисты, какой ход их мыслей, как они приходят к тому или иному решению. Заучивать код/методы на самом деле нет смыла.

я старался понять как думают программисты

И кто были подопытными? Как это проихсодило? :-)

Хах, помнишь Сайлера из Героев?

Я начал изучать C# на курсах от Epam. До этого практически ничего не рубил в программировании. Подходил к ребятам и задавал вопросы. Например:

— Как ты узнал, что у объекта есть такой метод?
— Это коллекция, обычно у коллекций есть подобные методы для работы с ними.
— А как понять какие методы есть?
— Вот интеллисенс — по нему видно все методы, которые есть у объекта. Еще можно смотреть доку вот здесь, примеры вот здесь и Object Explorer вот тут.

И так далее.

А дальше смотрел видео на pluralsight и смотрел какие инструменты используют авторы, как они пишут код, обычно там хорошо разжевывают тоже.

Если уже на работе — то смотреть как делают ту или иную штуку коллеги. Так учился отлаживать JS в браузере, например.

Аааа, ну да. Обмен информацие с коллегами это полезно, я такое и сейчас делаю, всегда что-то полезное можно найти.

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

От некоторых чужих консольных программ можно словить экстаз.

учу как-то неправильно?

Между «изучением английского» и «изучением языка программирования» есть кое-что общее. А именно — неправильное слово «изучение». Языки изучают только филологи. Перестаньте уже учить язык.

То, что вам нужно, называется «обретение навыка использования» — это не учат и не изучают, это упражняют, тренируют, вбивают в рефлексы.

Вы лучше подумайте о тех кому придется все переписывать после таких навыков с рефлексами...

Не будет навыка — нечего будет переписывать.

У меня такое с немецким :D При том, что языки легко даются и англ и франц нормик учились

А ты его пивком запивай! И желательно в компании муттершпрахлевов — пойдет как по маслу!

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

Знание некоторых принципов возмещает незнание многих фактов. :-)

старался сразу после школы вплоть до сна посвящать изучению Java

Чувак, погоняй лучше мяч во дворе

И всегда в тренде девочки (девушки, женщины).

Ты не язык учить пытаешь, а пытаешься научиться программировать. Это сложно.
Java это огромная платформа, которая развиваетя несколько десятков лет уже. Там намешано много технологий, протоколов, принципов разного дизайна, API и т.д.
Ты еще пытаешься понять ООП на базе Java, а это отдельное «болото».

Добавляем сюда базы данных, кеши, безопасность, транзакции, многопоточность, REST, разного рода интеграции, веб сервисы, облачные сервисы, модные нынче микросервисы, масштабирование, базовые алгоритмы и структуры данных, подходы к разработке, тулзы и мы имеем краткий список того, что должен более-менее знать Java программист (допустим бекенд). Ах да, еще английский выше среднего, куда-ж без него.

Выход — больше практики, меньше голой теории. Систематический подход. Теорию повторять спустя день/неделю/месяц/год.
Перед изучением чего-либо нового, будь то синтаксис языка или технология, всегда нужно составить четкое представление зачем оно создано, как и где используется и какие проблемы призвано решать. Разные дороги требуют разных колес.

P.S. Оно еще и забывается, если не использовать некоторое время. Удачи.

Перерыв каждые 45 минут надо делать, как в школе. Вначале можно пару часов без перерыва.

Попробуй пойти от обратного. Найдти себе задачу, которую хочешь решить. Например, составить базу родственников с простой формой для добавления/удаления родственников. (Сложный пример, можно просто попробовать выводить всякие приветы в консольку.) И потом ищи варианты решения этой задачи. А то вечно будешь видеть фигу в книге.

А лучше всего найди какую-то вводную книгу, где на пальцах будут расписаны основные принципы программирования (переменные, блоки условий, функции) с блок-схемами. Чтобы впитать основы и потом вернуться к Java.

P.S. Я знакомился с Java через руководство Шилдта. Там в начале есть хорошее введение, но оно скорее всего будет понятно тем, кто уже знаком с программированием.

Судя по описанию, это книжка для программистов уже с опытом. Неудачный выбор на таком этапе.
Лучше возьми Эккеля. У меня несколько знакомых по нему учили джаву и разобрались без проблем (попутно не забывая кодить, разумеется).

Эккеля

для школяра який не знайомий з основами програмування? Еккель не завжди заходить тим хто має базу по Java, а тут початківець

Не завжди. Але, думаю, у нього більше шансів.

та ладно. нормально объясняет. а что не понятно, пожно догуглить

Хочеш вивчити і краще зрозуміти мову, то виріши якусь задачу за допомогою мови. Це нормально коли ти щось пишеш, що не зовсім розумієш, адже все комплексом не освоюється, лиш по-трохи. У кожного є свій момент, коли тебе осяє що коється, це як пазл — нудишся, складаєш, і ще загальної картини не бачиш, але коли складаєш більшу частину його, то просвітлюється чого бракує і де. Головне не здавайся

Знание нотной грамоты еще не делает человека композитором.
Знание букв еще не делает человека писателем.

Может, не в Java дело?

Ти не вивчаєш джаву, а просто читаєш книгу по ній.
Проблема, в тому, що ти не формуєш питання , що щось конкретно тобі не зрозуміло, а пишеш — нічого не зрозуміло. Так не буває, коли ти дійсно хочеш розібратися з чимось

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

Java отстой. может Пайтон попробовать? я начинал с хардкора — паскаль и ассемблер. первое — чтобы понять структурное программирование («мать» ООП), а второе — чтоб понять как машина работает изнутри. надо сказать что меня низкий уровень гораздо больше интересовал чем высокие абстракции, всякие там регистры, косвенные адресации и условные переходы. поэтому надолго моим любымым языком стал C и C++, где можно в памяти шуровать. Джаву создали для тех кто ниасилил указатели, чтобы они не отстрелили себе ногу.

Чому завжди знаходяться люди, яким все одно яка тема, лиш би похоліварити?) Кожна мова має свою нішу. Ти ж не будеш бекенд на С писати

в Sabre Holdings когда-то была часть бэкенда на C++/boost/corba. и не вижу в этом ничего плохого — оно работало. в DB и UBS няз тоже.

Оно до сих пор работает. А еще там работает мейнфрейм, и проблема в том, что очень хорошо работает, как и во многих других подобных компаниях.

Ассемблер на IBM mainframe. Система разработанная ещё в 60е годы

Она же переписывалась несколько раз, я дкмаю там мейнфрейм из 80х или начала 90х.и вообще айбиэм регулярно кому-то апгрейд менйфреймов продает, это солидная часть бизнеса у ibm

Так «часть» бекенду не тільки в них на С написана. Я про то, шо на кожну мову є своє примінення. І не треба вибирати мову за принципом «всі кажуть, шо вона крута». Треба вибирати за принципом «справляється з поставленими задачами». Нікому не потрібен оверхед. Якшо я буду писати якийсь сайт для власних потреб, то точно не виберу С і навряд виберу Java. Бо задачу «швидко накидати пару веб-сторінок» непогано виконують інші мови.

Ти ж не будеш бекенд на С писати

на чем там нода написана?

Чого ж не буду? Я завжди мріяв пописати бекенд на С.
Тільки замовники не погоджуються. Тулять чогось той .Нет всюди.
А я б — будь-який каприз на С за їхні гроші.

Java отстой.
Senior Java Developer

Святая толстота :)

Джаву создавали для тех кто умел и хотел применять красивые архитектурные решения.

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

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

ссылки же есть!

Я думаю, якщо згадати ооп в плюсах, то ситуація, коли поліморфізм може бути, а може не бути в залежності від наявності/відсутності &* — то це не зовсім нормально все ж таки.
І взагалі, в коді забагато __stdptr&**)))!

ссылки — синтаксический сахар

Це якщо пару абстрактних фабрик чогось там не написав — день дарма пройшов.

Все эти разговоры об абстрактных фабриках фабрик не более чем преувеличение. А там где они действительно нужны — то да, лучше таки написать, чтобы потом не иметь жопаболи.

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

Джаву создавали для тех кто умел и хотел применять красивые архитектурные решения.

для тех, кто запарил уже стрелять себе в ногу

Стрелять легче чем думать

этим вообще в руки давать оружие нельзя

После С++, PHP, ES6+node и немного python, Java заходит вполне легко. Не думаю что слепой упор в что-то одно когда либо кому нибудь помогал, я всегда сравнивал реализацию различных решений на PHP c С++ или ES и на практике чем больше вы знаете вариаций решения определенных задач тем больше у вас шансов достичь максимальной производительности и качественной структуры кода. Почему бы не изучать Java и C# или С++ одновременно, шаблоны ООП и алгоритмы везде одинаковы а качество реализаций познается в сравнении

Почему бы не изучать Java и C# или С++ одновременно

Тому що це не має сенсу, а ще контрпродуктивно?

После ... PHP, ... Java заходит вполне легко.

После пыхи джава — это как глазные капли после коньюктивита.

Я учил Джаву 11 лет назад. Сам язык зашёл легко, потому что было три года коммерческого опыта на Delphi (+ шесть некоммерческого, вместе с TP) и кое-какое знакомство с C и C++. Правда, я срулил в C# по настоятельным рекомендациям для Делфи-свичеров :-)

Всі ми так, логічний був шлях, коли ти писав десктопні аплікейшни над бд, і продовжив це робити в шарпі. А не піддалися б течії, пішли в джавісти, то мали б +100$, більше вакансій. Хоча років і здоров’я втраченого в екліпсах і тих москальських інтеліпоробках ніякі гроші не повернуть.

Я писав нетипові зовсім речі :-)
Тобто десктоп і БД там були, але не головні.

+400$
На днях нова статистика вийшла на ДОУ.
+400$ мінімум для сіньорів.

Я б, на Вашому місці, краще свічнувся на С# (якщо віндова екосистема не викликає ідіосинкразію))...
Хоча, якщо є бажання ритися в старому чужому Java-коді — «Лупайте сю скалу!»... ;))

Плюсую за javarush, сам благодаря им устроился на работу, успел еще купить подписку которая бессрочная, так до 30-го уровня не дошел еще, но уже давно работаю))
Если нет денег или просто не прошел все уровни, там раньше дыра в безопасности была и можно было на любой уровень перейти и читать теорию и кто-то успел сделать зеркало еще старой версии:
javarush.ipnodns.ru

А после, сразу наверное рановато, но вот годный курс по спрингу:
www.youtube.com/...​otGpAYRP9Iv2KLIwK36-o_qYk

javarush

Рекомендую тільки перші 10 безкоштовних рівнів. Далі купа багів і трабли з валідатором. Ну і правильно писати код вона не вчить.

Сейчас только два уровня бесплатные.

О, ну тоді можете купувати і проходити десь до 15 рівня. До речі, під новий рік у них зазвичай знижки 50%.

Не соглашусь. Вы давно проходили JR? Я в прошлом году с 1го по 24й уровень. За все время реальный «косяк» с валидатором был 1-2 раза. Как человек начинающий могу сказать что 98% косяков «валидации» там — это не внимательное чтение условий задачи. Чему реально меня за это время научил JR, так это чотко следовать условиям :D
И кстати как вариант если что-то не получается в задаче, просто откройте комментарии к ней, там зачастую есть подсказки/ответы, но тут нужно понимать что комменты там это некий «читкод» в который лучше лезть когда уже все перепробовал и дальше сам ну никак :)

2 роки тому моя дружина закінчила 19 чи 20 рівень. І ні, це не в умові задачі. Наприклад: зробив try-with-resource, а валідатор каже, що в тебе стрім не закритий. І це в кращому випадку, бо тут ти хоч розумієш, що не так. Бо буває просто на кшталт: «зробити сортування — фейлед». А чому — невідомо. І тасуєш код туди сюди. А потім через півгодини заходиш в підказки, там довгий тредік, де люди ругаються, і знаходишь, що треба зробити String.concat замість StringBuilder. Ще не сподобалося, що в перших уроках тебе вчать правильно форматувати код (і валідатор не пропускає погано відформатований код), а в наступних уроках форматування не перевіряється!!!

Можливо, вже стало краще, але тоді це було так.

Посмотри здесь:it-simulator.com/#/article/1/3. Есть все от установки Java до Spring, Hibernate,Docker и тд. Очень советую. В свое время мне очень помогло.
Хорстманн для начинающего очень сложная книга.

Мне такие книги тоже очень тяжко заходят. Для старта с 0 советую почитать Яков Файн proklondike.net/...​yakov_fine_java4kids.html

В одиночку всегда сложно. Примкни к группе (например www.facebook.com/devcomanda). Смотри тут dou.ua/calendar расписание ивентов. Посещай бесплатные по твоей теме. Ну и там не стесняйся — общайся с людьми. Это очень поможет и смотивирует. Долго упираться в теорию — не вариант, лучше больше практики. Если сможешь найти ментора — вообще красавчик.

в 2009 выбирал что учить — java или c#, плюс шарпа был в том что куча локализированой документации было(+ был опыт с mssql позитивный, что улутшило мнение о екосистеме), хотя в итоге выбрал java,
учтите что мозг взрывается только первые 3-5 лет изучения, потом гораздо легче.
Начинал со школы в 2001м pascal->delphi/vb->c++ ->php/js/python -> java (если комерческий, то 2008-2013 php/js, c 2011- java).Совмещал php+java и не рекомендую так делать — работаете за 2х, а платят как 1му, и не много. Хотите выучится — готовтесь потратить годы(тоже начинал с Хорстманна, 7е издание)

А вообще, для самостоятельного обучения, как по мне, в интернете лучше чем курс java rush не найти.
javarush.ru
Очень понятно все обьясняется с юмором в виде игры, и все разбавленно практикой. Вам не понадобиься больше ничего гуглить и уточнять.
Правда там продвинутое обучение уже платное, но базовое точно стоит пройти, что бы уж там решать подходит или нет.
Вы не сможете пройти этот курс и НЕ стать програмистом.

Придется и гуглить и уточнять. Там и форум есть, очень активный, и гуглить там надо — некоторые задачи рассчитаны на то, что как решать найдешь именно в гугле. А некоторое вещи просто надо гуглить — из любопытства.

А вообще, для самостоятельного обучения, как по мне, в интернете лучше чем курс java rush не найти.

Единственный серьезный плюс курса — то он на русском языке.
Хотя с другой стороны это можно и минусом назвать, без английского в программировании не обойтись.
То что с привлечением Футурамы обучение — по моему вообще ужас :-)

Вам не понадобиься больше ничего гуглить и уточнять.

Это ложь. Как раз на днях общался с покупателем курса javarush который жаловался что информации очень мало, невозможно разобраться при помощи одного javarush.

Вы не сможете пройти этот курс и НЕ стать програмистом.

Опять таки ложь.
Во первых, умалчивается что не все смогут пройти этот курс, как минимум половине не хватит способностей, а некоторым — усидчивости и желания учиться.

Даже если пройти курс до конца — вероятность найти работу (особенно в J2EE) не особенно большая.

P.S. Увидел ссылку javarush.ipnodns.ru
Если бесплатно заниматься по курсу — как один из источников знаний вполне подойдет. Если понравится и поможет найти работу — в таком случае можно и заплатить. Хотя цена за курс неоправданно высокая, по моему правильнее книгу купить и пройти курс задач с автоматической проверкой (к примеру, exercism.io — там не только Java, но и почти сотня других языков).

А вообще настоятельно рекомендую Python и py.checkio.org

Единственный серьезный плюс курса — то он на русском языке.

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

То что с привлечением Футурамы обучение — по моему вообще ужас :-)

Помоему сейчас на javarush.ru уже нет никакой футурамы.

P.S. Увидел ссылку javarush.ipnodns.ru
Если бесплатно заниматься по курсу — как один из источников знаний вполне подойдет.

В этой копии нет самого главного — задач. Если не хотите практиковаться, то можно просто читать хорошую книгу по Jave, благо такие есть. Но рано или поздно вы захотите написать свой код, и даже если вы сами себе придумаете задачи, кто будет их проверять?

Самый главный плюс курса — это куча задач с мгновенной проверкой и указанием в чем ошибка.

Це наполовину правда. Після 10 рівня валідатор дуже бажний, наприклад зробив цикл по іншому — і все. Витрачаєш півгодини, щоб підібрати правильну комбінацію (яку хотіли від тебе автори задачі). Хоча результат виконання програми в тебе правильний.

Після 10 рівня валідатор дуже бажний, наприклад зробив цикл по іншому — і все.

Курс(задачи) постоянно обновляется, возможно у вас устаревшая информация. Если это действительно так, всегда можно нажать кнопку Помощь и получить ответ разработчиков.

В мене дружина і сестра проходили десь роки 2 тому. Не знаю як зараз, але я все одно не рекомендую брати платні рівні.

Помоему сейчас на javarush.ru уже нет никакой футурамы.

Похоже на то что заменили копирайтный контент своим (но очень, очень похожим).
И все равно остались артефакты Футурамы, типа вывода строки «поцелуй мою блестящую металлическую задницу».

Единственный серьезный плюс курса — то он на русском языке.

Это его серьезный минус, а не плюс.

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

Плюсую за javarush, сам благодаря им устроился на работу, успел еще купить подписку которая бессрочная, так до 30-го уровня не дошел еще, но уже давно работаю))
Если нет денег или просто не прошел все уровни, там раньше дыра в безопасности была и можно было на любой уровень перейти и читать теорию и кто-то успел сделать зеркало еще старой версии:
javarush.ipnodns.ru

А после, сразу наверное рановато, но вот годный курс по спрингу:
www.youtube.com/...​otGpAYRP9Iv2KLIwK36-o_qYk

Привет. Как можно с тобой связаться? На счет JavaRush.

Нельзя в таком режиме вчить теорию — перегоришь в лучшем случае. В худшем — словишь что то из паталогий нервной системы.
Не больше трех часов вдумчивой теории подряд, и не больше 6 за день в сумме. И то при условии что вы хорошо питаетесь с достатком всех нужных витаминов и глюкозы. То есть, как ни странно, нужны сладости и рыба + фрукты/овощи ради витаминов, можно заменить таблетками.
Лучше разбавляйте теорию практикой часа полтора-два теории и до трех часов практики вполне оптимальная нагрузка за день. С учетом школы это время лучше еще сократить, все таки иногда даже там думать приходится.

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

Ориентироваться надо не на время, а на самочувствие. Если прет заниматься чуть ли не сутками, с перерывами на поспать и поесть, и если возможность такая есть — то можно все свободное время заниматься, и все будет гуд. Сон, да, важен. И питание тоже.

то можно все свободное время заниматься, и все будет гуд.

Не факт. Інтерес може швидко перегоріти. А от якщо завжди лишати запалу на наступний день, то він розтягнеться надовше.

А сладости зачем? Или очередной мамкин диетолог?

Глюкоза? в умеренных количествах для работы мозга

Не тупи — снікерсни! А є якісь дослідження на цю тему? В мене висока недовіра до рафінованого цукру.

Надо поискать.А ты не ешь сладкое вообще?

Я ще пів року назад обжирався. Міг пачку паличок солодких велику зїсти, або от баунті залпом. Тепер одумався і від солодкого буквально тошнить. Лише трохи заходить. Тому їм, але небагато. Бува зірвуся, злопаю, а потім противно. Так і з сіллю, я вже каші не солю, мясо куряче не солю(ранішк цю домашню курку їв вмокаючи в сіль хд). Все супер без надлишку цього, бо ж продукти самі по собі вміщають і цукор і сіль(я так розумію).

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

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

Так можна замінити швидкі вуглеводи на повільні які довго і рівномірно даватимуть енергію. Цукор це надшвидкі які одразу вкидаються в кров і користі в цьому рівно нуль. Гірше не буває.

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

Я и не оправдываюсь,и конкретно билдеров и не привожу.Ладно, проехали.Пусть ест каши)

Скажу по своему опыту, грубо говоря C# - это та же Java только от Microsoft. Разве что язык С++
меня немного напрягает, но в принципе мне кажеться он местами немного проще в плане понимания как твой код работает на самом деле, ибо схема проста как двери: Твой код — компилятор — твой комп. Все) и без всяких там виртуальных машин и прочих приблуд.

По поводу твоего изучения Java попробуй найти какие то курсы либо ментора/ препода.

Хорстманн — довольно сложное чтиво, рассчитан на специалистов. Найди в интернете книгу Якова Файна. Программирование на java для детей, их родителей бабушек и дедушек. С неё и начни

Для початку — calm down, а то перегориш раніше ніж треба) А потім треба зрозуміти, що книга по програмуванню це не художній твір, що читається по 100 сторінок за тиждень, і має памятатися від слова до слова. І в кінці — так, не до кінця розуміти написане в тех літературі — це норма. Практикою виправляється. Удачі)

У 23 вигорить та вийде на пенсію пасти страусів чи обертати пінгвінів.

А паскаль вже вивчений?

старался сразу после школы вплоть до сна посвящать изучению Java

расскажите какая цель изучения этого языка:

1. стать javа сеньером в 16 лет?
2. реализовать на этом языке свой проект фейсгугла?
3. выиграть раенную, и может быть даже областную олимпиаду по программированию?
4. общая любознательность и желание получить новый опыт?
5. все выше перечисленное

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

Возможно цель — стать биг чиф сеньор дата архитект в итернет магазине, устроиться в амазон на джуна, написать статью какой он гений и сплавиться по мисисипи уже в 30 :-)

ну так пусть сам TS нам расскажет, может быть C# ему действительно лучше подойдет.

Йому будь-що підійде. Він же ще не програміст, там чисте поле, і преференцій по тех частині бути не повинно)

Але ж по Місіс-сіпі, а не по Дно-пру.

мозг надо беречь.
если что-то резко не нравится — это сигнал.

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

Можешь ещё почитать мою статью, для таких как ты писал.https://dou.ua/lenta/articles/switchers-in-it/

Я так понял, ТС только после школы, поэтому статья про свитчеров для него неактуальна.

Тогда пусть читает вторую часть, пособие для поступающих в ВУЗы. Для тех, кто не хочет учиться в ВУЗ-ах там тоже есть.

Самое начало — это только цветочки. Ягодки начнутся, когда ты начнёшь искать работу. И обнаружишь, что в твоём городе 3,5 стажировки в год, на одной из которых требуют умение петь, на другой танцевать, а на третьей ты оказываешься токсичной/депрессивной личностью и не вписываешься в молодой, дружный коллектив.
И вот тогда взорвётся не только мозг, а и пердак.

Две HR-ки под градусником этому господину!
Как боженька сказонул!

Последние 100 страниц где-то недели три "обрабатывал"

Это вполне себе хороший показатель, как для начинающего и смоучки, это же не Донцову читать утром на унитазе.

притом что старался сразу после школы вплоть до сна посвящать изучению Java. На выходных мозг вообще взрывается, когда я 8-10 часов с небольшими перерывами бомблю этот язык.

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

(читал книгу, гуглил непонятное, спрашивал на форумах, читал статьи с доп. информацией по теме)

ну вроде тоже все ок, спрашивал и компал инфу сам, это и будет основной твоей деятельностью как трейни так и джуном.
Даже синьоры очень часто без интеренета\совета коллеги\копания документации не могут решить проблему.

ЗЫ когда изучал C# то на этапе изучения наследования и интерфесов сны были жуткими, снилось что я не могу думать привычно словами, а могу только в виде кода выражать свои мысли, не вербально а именно мысленно. Жесть.

Взрывается мозг при изучении Java уже в самом начале

Это ты еще кровавого энтерпрайза не нюхал.
На С# в среднем, для джуна, будет тоже самое ;-)

Хто писав кривавий ентерпрайз, той в окопах під градом не сміється.

Попробуйте почитать Герберта Шилдт-а : www.ozon.ru/...​ntext/detail/id/31249554

Теж із Шилдта починав. Але до цього був за спиною університетський курс програмування. Може в цьому проблема? Спробуйте лабораторні роботи імплементувати, в інеті мають бути. Або якийсь практичний курс з програмування.

ага, Шилдт пишет самым понятным языком из всех, имхо.
тоже с него начинал

Тоже Шилдт, для дот нет там была книга с контрольными вопросами и задачами в конце каждой темы. Хорошо помогала закрепить знания.

да, но это как кому,
слышал отзывы, что он казался скучным.
как зайдёт.
Надо просто пробовать заходить с разных сторон в таких случаях как у ТС

Тут Эккеля уже помянули — поддержу. Редкой ясности мысли мужик.
Ну и родная оракловская документация неплоха, спокойно можешь с ее помощью делать первые шаги.

Например, C# должен быть легче, да?

лучше на F# посмотри

А он жив ещё?

Раз светочи нашей современности, — Денисенки на нем пишут, значит живее всех живых.

Так может это родовое проклятие?

Которые сделали из обезьяны человека?

Которые из заурядного человека сделали Денисенку.

В 14 лет мутировать в синьор принципал ультра хед аркитект ин биг (даже хьюдж) дата.
Ну, или всем внушить это.

Сорян, о каких Денисенках идет речь? Разрешите поинтересоваться :)

В C# гораздо больше всяких конструкций и фич. Еще дольше разбираться. Java проще и универсальней. А F# это совсем из другой вселенной. Для начала нужно более менее знать базовый язык — C# на .Net и Java на JVM. Уже потом браться за функциональные — F# на .Net и Scala/Clojure/... на JVM. При работе с этими альтернативными языками все равно будешь пользоваться библиотеками на базовых языках. Поэтому нужно знать и понимать как они работают.

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

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

если хочешь выучить джаву — выкинь книгу и начни писать код. 80-90% практики и только 10-20 теория. иначе толку не будет. нужно поставить перед собой конкретную задачу, сесть и попытаться реализовать ее в коде. только не те учебные задачки по нахождению корней квадратного уравнения, а реальный проект. то, что тебе интересно самому будет.

С нынешними реалиями, когда Цукерберг продает часть акций лицокниги, чтобы инвестировать в разработку нейроинтерфейсов (или чем он там собрался мысли читать), а Маск вообще автомобили на ИИ массово выпускает, реальный проект школьника может быть слишком сложным для него же.

Не выглядит теперь круто сделать свой плагин для винампа.

Нам бы такие, как у финнов ПТУ (youtu.be/znJd0i6wKQY), школы, колледжи и ВУЗы, чтобы в ногу со временем.

я имею ввиду учебный проект, а не фейсбук новый. учиться на чем-то нужно же

Учиться нужно, но с поправкой на современность.
Это как бесполезные паскаль/делфи учили в учебных заведениях совсем недавно, а возможно, что и до сих пор учат. Когда Запад Пайтону уже во всю учил детей.
Сейчас имеем практическую пользу от Пайтона в виде всяких машин лернингов и дэйта саенсов, а от паскаля/делфи только имитация бурной деятельности.
По проектам, думаю, та же история.

1. если чувак взялся за джаву — вряд-ли ему интересен ии, дата саенс и т.п. джава это энтерпрайз или андроид, соответственно от этого и пляшем.
2. для начала нужно четко представлять себе те же принципы ООП и самые распространенные шаблоны проектирования, которые я понял полностью только когда написал гуи на свинге (не новую идею или 3д игру а банальную записную книгу), а не прочитав 100500 страниц книги, без этого дальше не продвинуться.
3. зная джаву я на пайтоне начал писать сразу, гугля некоторые моменты параллельно и за 2 недели сдал проект, так что перейти после на другой язык, тем более такой как пайтон, это не проблема.

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

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

Это ты ещё фреймворки не учил и частные случаи костылинга этих самых фреймворков, которые к сожалению встречаются повсеместно. Если пошёл на программиста, привыкни что мозг взрывается не при изучении, это изучение никогда не заканчивается, а продолжается постоянно.

А ты думал просто так за это платят? Это пострашнее авиадиспетчера нагрузка. У того новое не выдумывается каждый месяц, а старое никто не лезет ломать по первому стуку жёлтой жидкости в голову.

С# определённо легче, там меньше того что ты должен знать по фреймворкам. А в жабе полный песец, особенно по наследию. Которое не развивается и так и сдохло недоразвитым, но знать надо (вместо того чтобы переписать код — это быстрее)

Просто не всем дано постигнуть эту коварную жабу )

Просто дело ни разу не в жабе. А в отвратительно документированных фреймворках, с мегатоннами бла-бла мусора вместо the fuсking manual, и постоянно выходящих их изменениях, подкладывающих какашку рискнувшим проапдейтиться.

Не хочу переходить на другой язык, т.к. твердо решил изучать Java. Если даже я буду рассматривать такой вариант, то будет ли легче? Например, C# должен быть легче, да?

Ну ведь совершенно очевидно, что вам нужно переходить на Go. При изучении Go у вас мозг не успеет взорваться, поскольку вы его выучите быстрее взрыва мозга. Книг никаких читать не нужно. Нужно писать, а не читать.

Книг никаких читать не нужно. Нужно писать, а не читать

Сначала ты не читаешь книги, а потом ты задаешь такие вопросы: dou.ua/forums/topic/25764

Уже всё предусмотрено, в Go таких вопросов возникать не будет, будут возникать только превентивные ответы.

Нє-нє... Не будь gopher’ом..))
Тим більше, що для того, щоб стати гофером, тебе має вкусити гофер..
Саме того Go — це біль.. ;))

Як Гофер вкусить то і ООП забудеш. Ну його.

так и запишем: го вызывает потерю памяти

Прекрасно, придумай себе задачу и попробуй реализовать. Потом вернись к чтению. Основных проблем две: (1) мотивация. Долго делать сложное, скучное и непонятное — постоянная борьба с собой — больши́е затраты (2) нужно больше опыта с тем, что ты уже прошёл, но с пробелами. Обычно учебных примеров может быть недостаточно.

Я джаву учил по Эккелю. Но у меня уже был и бекграунд и опыт на пхп. Эккеля перечитал 3-4 раза, будучи уже работая. При каждом прочтении одного и того же издания находил новые вещи. Но я умел программировать (писать софт), а с теми разделами, которые мне не были нужны и не были понятны на первых этапах — я не заморачивался.

Нужно понимать, что конкретно тебе тяжело. Если тяжело понять, откуда растут ноги I/O в джаве, нафига там накрутили столько декораторов и как этим пользоваться — не страшно, придёт со временем (может и не понадобится, какой-то фреймворк накрутит своё сверху).
Если же проблема в том, что не можем запомнить как цикл работает и как из него выйти, и «зачем сохранять значение в переменной», то уже сложнее.

Пиши программы, смотри получается ли. Java core это самое-самое начало обучения. Домучав Хорстсмана — обучение только начнётся :)

И я так же — пхп и эккеля. Ну правда еще между этим методом копипастно-кавалеристской атаки апплеты писал.
И да — эти навороты разных инпутСтримов — эккель объясняет, почему именно так, но меня не убедил

У джава тоже самое, взрывается мозг от того что ты учишь его.

А вы думали, что полистаете книжку и хоп зарплата от $3000? :D

Давно нема таких зарплат! Від 5000!

Но ТС ведь джун, готов за еду поработать))

Джун — это год опыта, ТС — entry level, трейни.

У нього буде по-сьогоднішнім цінам лише 3000. Все правильно написали.

Вы программировать уже умеете?

Если нет, то бомбить будет даже от TeX.

Изучаю Java по книге Хорстманна, первый том, середина, а мне уже довольно сложно усвоить информацию
As with the previous editions of this book, we still target serious programmers who want to put Java to work on real projects. We think of you, our reader, as a programmer with a solid background in a programming language other than Java, and we assume that you don’t like books filled with toy examples (such as toasters, zoo animals, or „nervous text”). You won’t find any of these in our book. Our goal is to enable you to fully understand the Java language and library, not to give you an illusion of understanding.

Видимо ТС читает на русском, а там ...

Перед вами серьезное справочное издание по языку программирования Java для разработчиков настоящих проектов на платформе Java. Описываются все основные средства и библиотеки языка Java, которые проиллюстрированы специальными проверенными примерами практического программирования на Java. Примеры, которые приводятся в книге, будут полезны для написания собственного кода. Вы узнаете о всех новинках версии Java SE 7 — усовершенствованиях в языке, ромбовидном операторе и других. Во всех примерах, исходный код обновлен в соответствии с нововведениями в версии Java SE 7, дается их полное описание. Подробно рассматривается среда программирования на Java; интерфейсы; прокси-объекты; графика; компоненты интерфейса в Swing; приложения; протоколирование программ; отладка; архитектура коллекций и многое другое. Рассматриваются языковые средства Java, в том числе прикладной интерфейс API.
твердо решил изучать Java
C# должен быть легче, да?
твердо решил изучать Java
C# должен быть легче, да?
скажите, на чисзбургер сыр положено ложить до помидор, или после?
скажите, на чизбургер сыр положено

Ложить или класть?

Во-первых, с чего ты решил, что твой вопрос первый в своём роде во всём интернете?

Во-вторых, решай задачи на codesignal.com, codeabbey.com, open.kattis.com и на подобных задачниках.
Желательно не з*ебывая кого-то, типа наставника какого-нибудь, а сам, чтобы реально в голове появлялись идеи, ложные и правильные пути решений. Только через твой личный горящий пердак, только накал страстей. И гугл на готовые решения тереби поменьше, а лучше вообще не тереби.
Это хоть какая-то практика и хоть какое-то представление о задачах на собеседованиях.
Один из них реально советуют, как задачник для подготовки к собеседованиям в Фейсбук.

Зачет. Сколько тред читаю, жду подобного ответа.
Составил для себя список в свое время. Делюсь:

codewars.com
codingbat.com
www.hackerrank.com
app.codesignal.com
www.codingame.com
www.hackerearth.com
leetcode.com

А вообще все хорошее уже придумано и собрано в одну кучу:
github.com/...​b/master/cs-java-focus.md

Не благодарите :)

это нормальная реакция здорового организма.
терпи. учи.

4-я джава хоть и была лёгким языком, но легко в работе не было,
теперь всё становится ещё сложнее, объёмнее.
Много трэша, много нового.

Хорошо начать с Си без плюсов и шарпов.
Это поможет сориентироваться в основах.

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

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

Осталось понять где их найти практически в любом языке кроме С/С++.

Пусть компилятор и GC думают, у нас тут все по аджайлу, и вообще я скрам мастер ! :-)

Понять концепцию памяти и указателей, а вот насколько это необходимо мысли расходятся

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

Потому что батюшка целой пачки языков.

Каким образом это лучше чем сразу учить Java/Python/Etc? Если не учитывать непонятно для чего потраченное время.

хороший вопрос.

надо, Сергей,
надо

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

ну и кто доходит до этой стадии? 0 целых, хрен десятых

Нах не нужно. Говнокодь и всё будет ОК. Всё одно найдутся идиоты типа меня, что жопу подтирать тебе будут. Я правда сказал уже, что идите с этим нах, скорее всего уволят и продолжат говнокодить и затем через годик инвестор отвалит.

Я как раз таки пишу на С++, и перед использованием новой фичи языка смотрю что оно мне дает и сколько это стоит, иногда даже сравниваю ассемблерный выхлоп нескольких реализаций. Но тут идет речь о baremetal программировании.

Бля. Везет же тебе, говнокода еще не видел.

Нет. Он позволяет понять, что реально происходит с битиками и байтиками в компе. И именно С, а не С++. А вот после С уже можно выбирать С++, java, go, php, js и т.д.

А теперь поспорю сам с собой. Нынче это нах не нужно. Главное говнокодить по быстрому и начальников удовлетворять — всё одна ваша муть говнокодерская нах никому не нужна. Бабло получили и валите.

Можно узнать, чем работа с битиками и байтиками в Си отличается от С++?

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

Както я всеравно не понял) Но иногда интересно сравнивать результат работы программ собранных Си и С++ компиляторов (gcc). Я так один и тот же код компилил, суть в изменении значения константы типа const int a = 5 Скомпилился код в обоих случаях, но константа изменилась только в Си варианте. Вариат от С++ отработал, но константа свое значение не изменила.

В основах поможет сориентироваться StandartML и Clojure. Не учите ребёнка плохому.

И Pascal, чтобы знать, что есть не только C-строки, но и Pascal-строки, намного более прикольная шняга.

не знаю, что такое Pascal-строки,
догадываюсь, что они работают как объекты (т.е. ближе к Джаве).

Не уверен, что есть смысл тратить время на Паскаль,
потому что не у всех оно есть.

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

не знаю, что такое Pascal-строки,
догадываюсь, что они работают как объекты (т.е. ближе к Джаве).

массив, в котором первый байт — длина строки

Могу сказать с уверенностью — кричать Вильна каса значительно легче, и вакансии всегда есть.
Не входи в айти, — иначе жизнь пройдет мимо.

Вильна каса

отлично мотивирует.
если вдруг расхотелось учиться, то поможет месяц этого трейнинга.
особенно лет в 17-20.

Мне в свое время хватило 5 дней работы контент-менеджером на полставки, замотивировало дальше некуда.

Подписаться на комментарии