Как стать программистом или Выучить Java за 1 год

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

Programmer HD Wallpaper by PCbots
 

Выбор языка программирования


Публикация начинает выглядеть как многие подобные материалы. По закону жанра я должен буду написать название пары тройки языков программирования, назвать парочку плюсов и минусов и, в итоге, так и не ответив на вопрос, перейти к следующей части. Отчасти в этом есть доля правды, ведь каждый выбирает для себя тот язык, который ему ближе, исходя из того, разработкой какого вида продуктов он хочет заниматься в будущем. Большинство из вас изучали в школе Turbo Pascal и вряд ли для вас будет новостью, что на этом языке сейчас уже практически ничего не пишут. Так и в данном случае, выбирать язык надо грамотно, хотя много знаний никогда не бывает, но если вы хотите за короткий промежуток времени эффективно влиться в ряды программистов, к выбору языка надо подходить с умом. В самом начале запомните: хороший программист никогда не останется голодным, а в большинстве случаев сможет купить себе много икры (это определение подойдет для любой специальности, но ни одна специальность не даст вам такой свободы выбора места работы, как в плане компаний, так и стран — программист он и в Индии программист).

Логично, что чем популярнее язык и востребованность, тем больше шансов будет найти  работу в будущем, при этом язык должен быть несложным в освоении. Потому что хотя на C++ и пишут большое количество игр и получают за это хорошие деньги, новичку, тем более не знакомому с ООП (объектно-ориентированное программирование)  лучше отложить на некоторое время этот язык куда подальше. Далее по ссылке предоставлен список самых популярный языков  программирования 2014 года, и как видно, на первом месте стоит Java, далее идут C языки, затем Phyton, JavaScript, PHP, Ruby и т.д. Если самим поискать подобные статистики, то вы увидите, что в разных источниках места заняты по разному, но в целом первые 10 мест по содержанию везде будут совпадать.

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

Исходя из этих двух источников мы уже можем себе представить, какие языки программирования сейчас «в моде». Как видно по названию, автор статьи выбрал для себя Java. Хотя я считаю его лучшим для изучения ООП, найдется много людей, которые не согласятся со мной, и это логично — сколько людей, столько и  мнений. Тут мы встаем на небольшое перепутье дорог: выбирать Java, С# (очень похож на Java), Phyton, если мы хотим работать с начинками программ и приложений (back-end) или же PHP, JavaScript, HTML, если хотим заниматься веб-разработкой (front-end). В первом случае я бы свой выбор остановил на Java, а во втором — на PHP, хотя опять же, тут больше по вкусу, надо уже самому искать информацию о различных языках и вообще понимать, чем ты хочешь заниматься. Для размышлений вот подборка языков, которые используются в крупнейших интернет компаниях мира.

Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.

10001798275020e27dcdde1
 

Обучение


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

Вообще, у меня есть своя теория, не раз подтвержденная мною же на практике: абсолютно всему можно научиться за  1 год. . Поверьте мне, это сущая правда, кому-то даже понадобиться меньше времени, но если человек не перестает сдаваться и в течение года с умом подходит к обучение, то практически невозможно, чтобы он не научился. Это не только в программировании, абсолютно в любой сфере: хочешь играть на гитаре — без проблем (у меня это заняло не так уж много времени и сил), научиться аргентинскому танго, кататься на серфе — на все это хватит одного года. Главное — учитесь!

В данном случае я буду рассматривать язык Java, так как он мне все таки ближе. Благо в интернете полно людей, которые безвозмездно помогают другим в обучение, поэтому найти подходящий для вас материал не составит труда. Здесь выложены более 1000 часов лекций по Java, которые можно с пером и бумагой просматривать в стенах свою уютной квартиры (пока только на русском языке). Для тех, кто привык вчитываться в проходимый материал, опять же интернет предоставляет большие возможности и это только один из всевозможных сайтов с уроками по Java. Теории хоть отбавляй, но не могу сказать про такой обучающий сайт, как Coursera.org, где вы сможете найти обучающие курсы на различных языках и по различным областям, в том числе и программированию — опять же все абсолютно бесплатно. Таких сайтов не один и не два, стоит всего лишь поискать.

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

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



healthit-resized-600
 

Помощь в практике


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

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

  • Cyberforum — по моему мнению, самый популярный русскоязычный форум ITшников, тут можно найти ответы на вопросы, при чем и не только в области программирования;
  • Programmers forum — крупный русскоязычный форум;
  • Searchengines — небезызвестный форум, но специализируется больше в веб- программирование;
  • Stack overflow — а это уже, не побоюсь этих слов, самый популярный во всем мире IT-форум, ответы практически на все свои вопросы вы найдете именно здесь;
  • Dev shed — тоже крупный англоязычный форум;
  • Quora — форум прямо не специализирующийся на программировании, но зато большая вероятность, что вы получите ответ от настоящего профессионала.



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

Компилируем код


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

Наконец, для тех, кто хочет действительно стать программистом, желаю взять быка за рога, собрать всю волю в кулак и делать то, что вам нравится. До меня уже тысячи раз говорили, но я повторюсь, главное — желание и труд. Тогда все у вас получится. Запомните самое главное: воспринимайте изучение языков программирования и различных технологий не как цель, а как СРЕДСТВО. Только представьте, какие возможности перед вами открываются. Может быть, именно вы станете одним из тех, кто меняет мир в режиме реального времени. Так что удачи и спасибо за внимание!

Источник

Версия для печатиВерсия для печати
  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 3
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

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

drezin, перечитайте моё сообщение. Я писал, что счётчики субабонента НЕ были подключены к АСКУЭ абонента. Кстати, вопреки проекту. В счёте, выставленном абонентом субабоненту, не указывалось, когда были переборы. И что именно считывать, а?

Для сведения: я 36 лет в АСКУЭ.

Буду избегать общения с Вами.

Имеете право.

Исходя из моих скудных знаний...

Что за рисовка? К АСКУЭ Вы тоже причастны.

Чтобы заказчик отстегнул копеечку...

Никакой допкопеечки заказчик не отстегнёт. Меня просто пригласили. А Вы поиздеваться решили.

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

mike пишет:

drezin, перечитайте моё сообщение. Я писал, что счётчики субабонента НЕ были подключены к АСКУЭ абонента. Кстати, вопреки проекту. В счёте, выставленном абонентом субабоненту, не указывалось, когда были переборы. И что именно считывать, а?

Ну я думаю за 36 лет в АСКУЭ Вы знаете способы получения точного момента превышения заявленного максимума из УСПД. Тем более он Вам нужен для сравнения. Т.к. при возникновении​ юридического спора именно поверенное УСПД будет точкой отсчёта. 

mike пишет:

Что за рисовка? К АСКУЭ Вы тоже причастны.

Самым дальним образом. Сотая доля моей занятости

+1
Аватар пользователя drezin

mike пишет:

Чтобы заказчик отстегнул копеечку...

Никакой допкопеечки заказчик не отстегнёт. Меня просто пригласили. А Вы поиздеваться решили.

Простите меня засранца гуманитария. Больше так не буду. Пойду лучше учить Java согласно блога. 

+1
Аватар пользователя Petro47

drezin пишет:

Простите меня засранца гуманитария. Больше так не буду. Пойду лучше учить Java согласно блога. 

Не выучите. Тяжелая дисциплина.

Расшифруем?

import java.io.*;

import javax.servlet.*;

import javax.servlet.annotation.*;

import javax.servlet.http.*;

 

@WebServlet(urlPatterns={"/async"}, asyncSupported=true)

public class AsyncServlet extends HttpServlet {

 

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse res)

                         throws IOException, ServletException {

 

        final AsyncContext asyncContext = req.startAsync();

        final String data;

 

        asyncContext.addListened(new AsyncListener() {

 

            @Override

            public void onComplete(AsyncEvent event) throws IOException {

                 AsyncContext asyncContext = event.getAsyncContext();

                 asyncContext().getWriter().println(data);

            }

 

            @Override

            public void onTimeout(AsyncEvent event) throws IOException {

 

      

 

             }

 

             @Override

             public void onError(AsyncEvent event) throws IOException {

 

    

              }

 

              @Override

              public void onStartAsync(AsyncEvent event) throws IOException {

 

           

              }

       });

 

       new Thread() {

 

           @Override

           public void run() {

               asyncContext.complete();

 

           }

 

       }.start();

 

       res.getWriter().write("Results:");

   

 

       data = "Queried data...";

    }

}

 

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

Petro47 пишет:

drezin пишет:

Не выучите. Тяжелая дисциплина.

Расшифруем?

import java.io.*;

import javax.servlet.*;

import javax.servlet.annotation.*;

import javax.servlet.http.*;

 

@WebServlet(urlPatterns={"/async"}, asyncSupported=true)

public class AsyncServlet extends HttpServlet {

 

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse res)

                         throws IOException, ServletException {

 

        final AsyncContext asyncContext = req.startAsync();

        final String data;

 

        asyncContext.addListened(new AsyncListener() {

 

            @Override

            public void onComplete(AsyncEvent event) throws IOException {

                 AsyncContext asyncContext = event.getAsyncContext();

                 asyncContext().getWriter().println(data);

            }

 

            @Override

            public void onTimeout(AsyncEvent event) throws IOException {

 

      

 

             }

 

             @Override

             public void onError(AsyncEvent event) throws IOException {

 

    

              }

 

              @Override

              public void onStartAsync(AsyncEvent event) throws IOException {

 

           

              }

       });

 

       new Thread() {

 

           @Override

           public void run() {

               asyncContext.complete();

 

           }

 

       }.start();

 

       res.getWriter().write("Results:");

   

 

       data = "Queried data...";

    }

}

 

Легко могу расшифровать Ваше послание:

"Я неудачник-гуманитарий, у которого не получилось ни в сфере журналистики, ни в iT. Поэтому я поучился программировать, но меня никуда не взяли ( ну еще бы, ведь я путаю SEO и CEO). Поэтому все, что я умею, это писать тут комменты. Я пытаюсь так повысить свою самооценку, но не получается((((

+1
Аватар пользователя Petro47

MaximYA пишет:

Легко могу расшифровать Ваше послание:

"Я неудачник-гуманитарий, у которого не получилось ни в сфере журналистики, ни в iT. Поэтому я поучился программировать, но меня никуда не взяли ( ну еще бы, ведь я путаю SEO и CEO). Поэтому все, что я умею, это писать тут комменты. Я пытаюсь так повысить свою самооценку, но не получается((((

Пупсик! Какой же ты милый! Пеши Есчо:-) Михаил, ну разве не чудо?:-) Он великолепен, это очарование юности... эх...

 

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

Вы знаете ... получения из УСПД...

По-русски читать умеете? Счётчики НЕ подключены к АСКУЭ, а следовательно, и к УСПД.

Милый... Чудо... Великолепен....

Ай, Петро, не мечи бисер.

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

mike пишет:

Ай, Петро, не мечи бисер.

Я люблю его: такой темпераментный:-)

 Я пытаюсь так повысить свою самооценку, но не получается((((

Миша, все получится: нужно немного упорства и старания. Беготня за мной этому не поможет, делай то, что у тебя получается и будет тебе счастье. СМИ - не твое.

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

mike пишет:

Вы знаете ... получения из УСПД...

По-русски читать умеете? Счётчики НЕ подключены к АСКУЭ, а следовательно, и к УСПД.

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

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

 

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

Уважаемый drezin, на входах сопла, т.е. на стороне 10 кВ, есть вводные счётчики абонента, далее на стороне 0,4 кВ у абонента есть куча счётчиков, как абонента, так и субабонентов, ВКЛЮЧЁННЫХ в АСКУЭ абонента. Счётчики субабонента, о которых речь, не на территории абонента, приняты, как расчётные, но НЕ в АСКУЭ (!) по инициативе абонента: стремясь скорее платить по факту, абонент сдавал АСКУЭ по частям. Служба АСКУЭ это разрешила.

Сзему электроснабжения уяснили?

У меня была подобная ситуация...

Не верю. Сколько работаю в энергетике -- ни разу не видел двух одинаковых схем электроснабжения.

Да, Паскаль не умер. Если кто читал мою статью про процедуры, сохранённые в БД, то вспомнит. Всякому языку -- своё применение.

Страницы