Как стать программистом или Выучить 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, так не пойдёт. Вы сюда влезли со своими неумными советами, так что включайте мозг. Жду ответа. Расскажите, как Вы определите моменты максимумов счётчиков субабонета, если на конце кабеля абонента нет счётчиков -- ни в АСКУЭ, ни вне оной. Не ответите -- буду считать Вас не только хамом, но и профаном.

Сейчас в минской АСКУЭ -- тьма профанов. Кстати, в Брестской и Гродненской областях получше. Там нет зоопарка АСКУЭ. А в Минской многие "спецы" не только "фирменный" софт поставить не могут, но и измерительные трансы подобрать не в силах -- не могут рассчитать ни токи КЗ, ни ударные токи, ни коэффициенты безопасности, ни параметры релейной обмотки, путают измерительный и поверочный Кпр счётчика, не могут по графикам мощности вычислить токи и т.д. А уж разработать простую программку, например, для транзитной синхронизации счётчиков -- ... Даже ВАФом пользоваться не умеют. Всё, что у них есть -- амбиции, да удостоверение с третьей группой. А порой и группы нет.

Иногда среди профанов попадаются виртуозы по части воровства. Не желая платить за софт, копируют в работающей АСКУЭ раздел HDD, ставят заказчику в комп виртуальную машину, перенастраивают стыренный софт под нужды заказчика и смываются. Не думая, что ворованный софт через некоторое время софт перестаёт работать. Могу даже фамилии назвать.

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

mike пишет:

Михаил давайте прекратим обсуждение этой темы

Нет, drezin, так не пойдёт. Вы сюда влезли со своими неумными советами, так что включайте мозг. Жду ответа. Расскажите, как Вы определите моменты максимумов счётчиков субабонета, если на конце кабеля абонента нет счётчиков -- ни в АСКУЭ, ни вне оной. Не ответите -- буду считать Вас не только хамом, но и профаном.

С наступившим новым годом Вас Михаил, пусть в новом году у Вас всё получиться:) Считайте меня кем хотите, хоть хамом хоть профаном, хоть котиком хоть зайчиком. Объяснять Вам ничего не буду. Как поётся в песне "если надо объяснять , то не надо объяснять":) 

mike пишет:

Сейчас в минской АСКУЭ -- тьма профанов. Кстати, в Брестской и Гродненской областях получше. Там нет зоопарка АСКУЭ. А в Минской многие "спецы" не только "фирменный" софт поставить не могут, но и измерительные трансы подобрать не в силах -- не могут рассчитать ни токи КЗ, ни ударные токи, ни коэффициенты безопасности, ни параметры релейной обмотки, путают измерительный и поверочный Кпр счётчика, не могут по графикам мощности вычислить токи и т.д. А уж разработать простую программку, например, для транзитной синхронизации счётчиков -- ... Даже ВАФом пользоваться не умеют. Всё, что у них есть -- амбиции, да удостоверение с третьей группой. А порой и группы нет.

Повторюсь что к АСКУЭ имею очень дальнее отношение. И так понимаю Вы со временем тоже всё дальше от неё.  Оставим ребятам возможность самим разобраться с собой. С Минской службой АСКУЭ я работал. Вполне адекватные ребята которые делают большие объёмы ответственной работы за небольшую зарплату. Много раз помогали и выручали (как старшие сотрудники так и младшие). ВАФом пользовались, токи считали. У них много проблем  как и в любой гос. организации у нас в стране по причине от них и от нас не зависящих. 

mike пишет:

Иногда среди профанов попадаются виртуозы по части воровства. Не желая платить за софт, копируют в работающей АСКУЭ раздел HDD, ставят заказчику в комп виртуальную машину, перенастраивают стыренный софт под нужды заказчика и смываются. Не думая, что ворованный софт через некоторое время софт перестаёт работать. Могу даже фамилии назвать.

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

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

Как и ожидал, Вы не станете отвечать за базар. Обычный ход облажавшегося.

Профаны не в службе АСКУЭ. Там грамотные ребята. Профаны засели  в наладочных организациях, желая срубить по-лёгкому.

То, что Вы теперь далеки от АСКУЭ -- верю. Попытались заработать -- малодоходно нахаляву, переключились на иное.

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

Одному рад -- профана не возьмут в какой-нито ЭПАМ или АйТранзишн. Хоть здесь навели порядок. Так что учите Джаву или ещё чего-нибудь, авось получится. :) Чего Вам и желаю. Короче, с Наступившим. 

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

mike пишет:

 Это из-за вас, профанов, и не суть важно, технарей иль гуманитариев, программистов иль журналистов, пенсии в соседней Польше больше наших зарплат.

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

 

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

Разоблачите скорее этих негодяев.

Зачем? С паршивой овцы -- шерсти клок. Ворованный софт отказал -- звонят и просят разобраться. Заменяю на альтернативный. Небесплатно, разумеется. 

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

У нас в стране тоже есть достойные зарплаты.

Да, но средняя -- ниже плинтуса. Из-за вас, профанов.

Искать источник своих проблем.

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

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

Кстати, вот софтинка, что тогда наваял за полтора часа:

def rip(file0, file1):
    global i1, i2, ctr
    l_ctr = 0
    l=0
    try:
        f = open(file0, 'rt')
    except:
        print("No file " + file0)
        return 0
    ff = open(file1, 'wt')
    for line in f:
        l_ctr += 1
        if line[0] != '+':
            try:
                b = line[14]
                c = line[15]
                a = 10*int(b) + int(c)
                if a >= 8 and a <= 11 or a >=18 and a<= 21:
                    s = line[29:]
                    s = s.replace(',','.')
                    s = s.rstrip()
                    ff.write(s+'\n')
                    print(s)
                    l += 1
            except:
                print("Bad line ", l_ctr)
                continue
    f.close()
    ff.close()
    ctr += 1
    if ctr==1:
        i1 = l
    else:
        i2 = l
    return l

# ----------------- MAIN -------------------------

ctr = 0
i1 = 0
i2 = 0
max_val = 0.0
if rip("One.txt","One1.txt") != 0 and rip("Two.txt","Two1.txt") != 0:
    if i1!=i2:
        print ("Files are not equal!")
        exit()
    else:
        f = open("One1.txt", 'rt')
        ff= open("Two1.txt", 'rt')
        i = i1
        while i>0:
            line1 = f.readline()
            line2 = ff.readline()
            e = float(line1) + float(line2)
            if e > max_val:
                max_val = e
            i -= 1
        print("max = ", 40*max_val)

      Коряво, но ведь первый раз на питоне писал. Попытался сегодня повторить на "плюсах". Повторил менее, чем за полчаса. 
Интресно, Петро, сколько тебе надо, чтобы повторить на Джаве.

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

P.S. В пределах десктопных приложений под АСКУЭ -- для меня C++.  Но стоИт задача раздачи инфы на "андроиды" юзеров -- какой язык посоветуете? Надо рассылать предупреждения об угрозах превышения доведенных лимитов мощностей и расходов, но не хочется через эсэмэски.

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

Vadim Stankevich пишет:

За 15 минут. Да, технарь - это диагноз

Обзываться Вы можете -- горчичник не повесят -- Вы же главред.

Всё, что могу -- пари: даю Вам эти файлы, и спорим на 100 рублей, что за 20 минут Экселом не справитесь. Ну как? Согласны? :)

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

За 15 лет, которые я тут, мне неоднократно приходилось читать мнение господ журналистов, что технари не умеют писать. О, господа журналисты, как вы не правы! Вы не пробовали писать хелпы под софт? А ведь от того, как написан хелп, зависит многое. Отсекает более половины FAQs!

Вадим Станкевич, ту так как: принимаете пари или решили промолчать? :)

mike пишет:

Кстати, вот софтинка, что тогда наваял за полтора часа:

    try:
        f = open(file0, 'rt')
    except:
        print("No file " + file0)
        return 0

Вот это оборачивание в try except зачем?

Если file0 нет - то пускай в окно запуска ошибка и валится. Чего её так выделять то через особую печать - print("No file " + file0).

Тем более что для file1 ниже ты таких фокусов не производишь (не оборачивашь в try except).

Да и далее ->

  f = open("One1.txt", 'rt') и   ff= open("Two1.txt", 'rt')

 - ты никакого оборачивание не производишь.

 

 

Страницы