Легкий язык программирования. Самый простой и легкий язык программирования. Список литературы для специализации программиста на Java под Android

  • 20.04.2019

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

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

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

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

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

Самые простые языки программирования в освоении

  • Basic
  • Pascal

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

Но многие специалисты убеждены в том, что для познания языка программирования не следует сразу переходить к его визуальной реализации. Проще говоря, если хотите изучать Паскаль, то изучайте именно его, а не Delphi, изучайте Си вместо VC++ with MFC/QT и так далее.

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

Не подвластны времени

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

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

В итоге, остается посоветовать новичкам изучать программирование с версий для DOS такие как Pascal и лишь потом купить Delphi , чтобы перейти в комфортные визуальные среды.

Войти в ай-ти: начинаем с нуля или свитчеры

Эта , которой Владимир Кожаев начал серию с советами новичкам. Обязательной частью в ней будут две статьи, но если весь материал охватить не удастся, он обещал добавить ещё.

Откуда дровишки?

Ах, вы думали? Вы, значит, иногда думаете? Вы мыслитель. Как ваша фамилия, мыслитель?
Спиноза? Жан Жак Руссо? Марк Аврелий?
© Золотой телёнок

Я в отрасли с 2005, и за это время перед глазами у меня прошло много историй и судеб. Но это не главное, дело в том, что большинство юных (и не очень) неофитов, которым я помогал успешно работают, некоторые уже на второй-третьей работе. Но и это не главное. Очень ценно, что у меня есть примеры тех, у кого не получилось . Ценно потому, что иногда знать, что делать гораздо менее важно, чем знать чего и как не делать . Как и все обобщения, нижесказанное справедливо лишь для условий Украины и в меньшей степени для стран бывшего СНГ. Об условиях работы в США я знаю мало, поэтому желающие эмигрировать поищите другой источник информации (например, замечательный подкаст «Америчка» Якова Файна, либо «SiliconValleyVoice » Михаила Портнова).

Социально-психологический портрет свитчера

Роман - ведь это зеркало, с которым идешь по большой дороге.
То оно отражает вам лазурь небосвода, то грязные лужи и ухабы.
© Стендаль. Красное и Чёрное

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

Жил-был человек, работал на далёкой от ай-ти работе, возможно добился успеха, но вот случился кризис 2008-го года, жить стало тяжелей. Потом произошёл майдан 2013-го, аннексия Крыма, война на Донбассе, доллар рванул вверх и жить стало совсем тяжело. И вдруг наш герой вспоминает, что в институте (школе/детском саду) он неплохо программировал на Паскале (получил пять на экзамене/успешно ответил на вопрос/умел включать компьютер). «Эврика, пойду я в ай-ти, там много платят и работа интересная».

Если студент-программист не имеет опыта и стоит задача всего лишь (!) его получить, свитчеру до этого семь вёрст и всё лесом: нужно определить, чем заниматься, и получить знания. Дело, сразу скажу, нелёгкое, поэтому людей справедливо одолевают сомнения: получится ли у меня, стоит ли овчинка выделки, а может ну его нафиг? С этого и начнём.

Получится ли у меня?

Судьба - очень удобное слово для тех, кто никогда не принимает решений!
© Джоди Фостер

Когда-то давно, когда программист с опытом зарабатывал меньше секретарши из постсоветского НИИ, программирование было уделом задротов в растянутых свитерах. Тренд «войти в ай-ти» соответственно отсутствовал. Но мало-помалу в страну пришёл аутсорсинг. Заработки у основателей ай-ти контор были запредельными: низкие украинские зарплаты сочетались с бросовым, но всё же внешним рейтом. К примеру, в 2004-м году программисту за час работы платили 2 доллара, а продавали этот час за 15. Поэтому в программисты стали брать всех, кто в состоянии написать программу «привет мир», в тестеры - умеющих включить компьютер. Более чем шестикратная разница внутреннего и внешнего рейтов покрывала любые издержки. Продолжалось это благословенное время примерно до 2008-го года. Желающих войти в ай-ти из других специальностей было мало, потому что заработок программиста хоть и вырос, до установщика кондиционеров, увы, не дотягивал.

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

Статья по теме: Каждое негативное событие таит в себе что-то хорошее

Так что видим: требования возросли на порядок. Что из этого следует: учиться, учиться и ещё раз учиться! Каждый день, по три-четыре часа, минимум год. После этого нужно нарабатывать опыт, бесплатно писать программы. Так что от начала обучения до трудоустройства пройдёт в лучшем случае два года. Есть у вас возможность и мотивация два года после работы упорно трудиться (фактически, по полдня)? Если есть, хорошо, но у меня для вас сюрприз: никто не гарантирует, что на первой работе вы продержитесь больше недели! Джуниор, тем более стажёр, - самые уязвимые позиции.

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

Отсюда следует настораживающий вывод:

Для устройства на первую работу нужно быть готовым к годам упорного труда и финансовой нестабильности в первое время.

Хорошо взвесьте, можете ли вы себе это позволить?

Чтобы не сойти с ума, учёба должна стать вашим хобби.

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

Шлём демотиваторов подальше

Найдутся некоторые, что скажут: «фи, он пошёл программировать не по зову сердца, а потому что есть захотел» Или: «стар уже - куда тебе учиться?» Или: «это не для твоих мозгов» - смело посылайте их. В отдельно запущенных случаях непрошеных советчиков можно даже побить. Почему? Так подбитый глаз успокаивается куда быстрее пустого желудка! Ещё потому, что советчики эти не хотят на самом деле вам помочь - лишь почесать о вас чувство собственной важности, попутно толкнув в лужу. Не иметь денег, отказывать в необходимом не только себе, но и близким, прозябать будучи способным на большее - это пошло, мерзко и противно.

Честно зарабатывать для себя и семьи вполне хорошо и правильно.

С чего начать, или выбор пути

У меня растут года,
будет и семнадцать.
Где работать мне тогда,
чем заниматься?
© Маяковский

Ну вот, с мотивацией разобрались: что делаем дальше?

  • Во-первых, учим английский , прямо сейчас! Как писал ранее, без него в ай-ти, увы, делать нечего!
  • Во-вторых, давайте выберем, за что нам будут платить приятные взгляду зелёные бумажки. Нужно что-то такое, чтобы освоить достаточно быстро, но и платили за это хорошо. Первое, что приходит на ум - ручное тестирование. Специальных знаний для начала вроде бы не надо, из общих качеств только внимательность да усидчивость. Специфике тестируемых программ обучусь по ходу. Пойду на курсы, закончу и буду работу искать. Увы, не с одним новичком сыграл злую шутку чрезмерно низкий порог вхождения. Дело в том, что на одну вакансию джуниор тестера до недавнего времени приходило до тысячи (!) резюме. Почему до недавнего? Да потому, что появляться в свободном доступе такие вакансии перестали! Компании предпочитают брать тестеров с профильным образованием и после собственных курсов. Да и просто вакансий QA начального уровня на два порядка меньше количества соискателей.

И вот ещё один совет: не ломитесь в ручные тестеры!

При этом становиться программистом вовсе не обязательно.

Некоторым достаточно просто сменить отрасль, опираясь на предыдущие навыки. Например, вместо бухгалтера в фирме по производству колбасы стать таким же в программерской конторе. Если умеете работать с людьми (официанты, бортпроводники, хостессы) - прямая дорога в офис-менеджеры. Были начальником - идите в менеджеры, психологом - в рекрутеры и эйчары. Но что делать, если вы таки да хотите стать программистом? Становиться, что же ещё! Но что изучать, вот вопрос? Ответ на него в следующем пункте.

Что и как учить, чтобы стать программистом

Детей надо учить тому, что пригодится им, когда они вырастут
© Аристипп

Что же изучать, чтобы быстрее получить долгожданную работу: Java, C#, а может С++? Да, эти языки, конечно, востребованы и хорошо оплачиваются, но есть две проблемы.

Проблема первая: любой язык существует не сам по себе, но вместе с инструментальными средствами: компиляторами или интерпретаторами, которых может быть несколько, библиотеками и каркасами (по-английски framework) и типичными подходами, применяемыми в рамках предметной области. Так вот, дело в том, что для указанных языков любая из возможных специализаций (возможно, кроме android) предполагает высокий порог вхождения . Другими словами, учиться вам придется особенно долго. Именно поэтому для переквалифицирующихся я рекомендую специализации с низким временем входа: это прежде всего программирование фронтенда с помощью языка JavaScript и родственных, потом разработка сайтов на языке PHP или Python, далее разработка мобильных приложений под Android или iOS. А вот в разработку энтерпрайз приложений на платформе JavaEE или.NET, тем более в системное программирование, бигдату или анализ данных свитчерам лучше не лезть. Слишком долго придётся учиться.

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

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

Отсюда ещё один совет: технике программирования нужно обучаться - задачки решать.

Как же учиться

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

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

Только после этого можно начинать поиск работы.

Список литературы для специализации программиста на Java под Android

  • Для первоначального знакомства с языком я рекомендую книгу Якова Файна «Программирование на Java для детей, родителей, дедушек и бабушек».
  • После того, как книга прочитана, можно переходить к книге Брюса Эккеля «Философия Java». Только не берите русскоязычный вариант в мягкой обложке - он сокращённый, там упражнений нет.
  • Найдите либо более новое издание, либо английское под названием «Thinking in java». Задачки по программированию тупо гуглим по вопросу «алгоритмические задачи для собеседований».
  • Либо книга дядюшки Якова «Java Programming 24-Hour Trainer» либо книга Эккеля «Thinking in java enterprise».
  • Для освоения шаблонов проектирования берём книгу Эккеля же «Thinking java in patterns».

Статья по теме: Важно ли первое впечатление

Чтобы освоить MySQL и git можно воспользоваться просто официальной документацией. После этого можно уже приступать к изучению собственно Android, например, по книге «Android Разработка приложений для чайников» Донн Фелкер. После этого я рекомендую написать две-три игры, выложить их на стор. Дальше можно искать работу.

Ментор, как найти и не надоесть

Часто у новичка возникают вопросы, которые он сам разрешить не в состоянии. Хорошо бы спросить у кого-то, кто понимает, но где его взять? Обращайтесь к тем, кто пишет статьи, ведёт блоги (p.s. к автору обращаться НЕ надо, я уже и так помогаю нескольким, а время не резиновое). Почему к ним? Просто, если человек даёт советы по собственной инициативе, скорее всего, он согласится помочь, когда его просят. Кроме того, ментор должен обладать навыками учителя, в какой-то степени гуру, не все даже супер-пупер-дупер синьоры их имеют.

Задавать вопросы нужно в таком порядке:

  1. В начале пытаемся найти решение сами.
  2. Если не получается, идём гуглить.
  3. Если и после этого не получается, задаём вопрос на Stackowerflow или на другом форуме, но лучше на нескольких сразу. Задав вопрос, читаем его, возможно, прочитав, поймёте, как решить проблему.
  4. И только, если пункты 1-3 не дали эффекта, обращаемся к ментору.

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

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

Что ещё надо? Если ты спрашиваешь ментора, и он даёт совет, воспользуйся им! Если не пользуешься, не ной, что ничего не выходит. У меня есть знакомая, которая приблизительно раз в месяц спрашивает: «что же мне делать?». Я ей рассказываю, подробно, она приходит через месяц, не выполнив из моих рекомендаций ровно ничего! Цикл повторяется вновь. Стоит ли говорить, что результаты её печальны?

Курсы, могут ли они помочь

Это, смотря, чего вы от них ждёте. Если введения в специальность, однозначно - да. Хорошие курсы вам в этом помогут. Но, подчёркиваю, хорошие. Как же их найти? Давайте подумаем: сколько программист способный вести курсы получает в час? Правильно, от 20-ти долларов, скорее выше. Положим, в группе 10 человек. Два раза в неделю лекции + практические задания, на проверку которых тоже тратится время. То есть в неделю преподаватель должен потратить на ваше обучение минимум 15 часов, скорее 20-ть (к лекциям ведь готовиться надо) 20*20=400 баксов - минимальная зарплата лектора. Добавляем к ней ещё хотя бы 200 (аренда помещения, расходные материалы, прибыль конторы). В месяце четыре недели с хвостиком. То есть стоимость месяца хороших курсов для группы из 10-ти человек должна стоить 600*4+ хвостик(200)=2600 долларов. Делим на 10 и получаем 260 долларов на одного человека в месяц. По нынешнему курсу в тридцать баксов это будет 7800 гривен. Понятно?

Могут ли хорошие курсы быть дешевле? Да, если проверка домашних заданий автоматизирована (как на курсере) и слушателей много - тогда получится взять объёмом. Или, если основная цель курсов не заработок денег, а пиар. Я могу порекомендовать курсы Якова Файна или те, что проводятся владельцами сайта javascript.ru.

Но зарубите себе на носу: ни одни курсы не дадут вам всех знаний. Ещё одна замануха - обещание стопроцентного трудоустройства.

Даже бесплатные курсы крупных ай-ти компаний после серьёзного отсева не обещают трудоустройства всех. Это и понятно, курсы идут в течении продолжительного времени. С другой стороны, в учебном центре не оракулы, предсказать, сколько стажёров понадобится конторе через полгода, не могут. Откуда же тогда рабочее место для вас возьмёт обучающая организация? У неё ведь и вовсе нет собственной разработки. Вопрос риторический!

Как устроиться на первую работу и что там делать

Самая тяжелая работа - её отсутствие!
© Рубен Багаутдинов

Ну вот, начальные сведения из программирования получены. И вы окрылённый начинаете слать резюме. Вы думаете гуглы с майкрософтами будут за вас драться кистенями? Посмотрите на ситуацию с точки зрения работодателя: приходит какой-то неизвестный тип, образование у него юридическое, самому 27 лет, английский средненький. Говорит, что что-то знает, честно-честно, но увы - доказательств этому нет. Возьмёте вы его на работу?

Что же можно сделать? Правильно, предъявить доказательства, что вы что-то можете! А как это сделать? Создать работающий проект достойный внимания, а лучше два-три, и выложить его в свободный доступ. Пусть люди увидят товар лицом. Думаете, после этого вас р-р-раз и взяли? Нет, не взяли, но без реализованных проектов шансов вообще никаких. Дело в том, что работодателю может что-то и не понравится, вы ведь начинающий ещё. Как же быть? Правильно, надо очень вежливо просить указать недостатки, благодарить за уделённое время и оные недостатки устранять. Потом идти к следующему работодателю и так до получения желаемой должности. Ну и конечно параллельно подчитывать теорию, чтоб от зубов отлетало. Однако проект в продакшене всё равно самое важное - он ваш проводник в мир больших денег.

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

Преимущества свитчера

Окончивший вуз по специальности «программное обеспечение» или «системный анализ» в течении полного рабочего дня пять лет изучал то, что вы осваивали в течении года по вечерам, урывками. Изучал под руководством опытных наставников, делал лабораторные работы, проходил практику. Конечно, теорию он знает лучше! Можно конечно сказать, мол, знаем мы эти постсоветские вузы, но уверяю вас: студент КПИ или университета Шевченко, который хочет получить знания, таки да, имеет эту возможность. Но есть преимущества и у вас. Дело в том, что выпускник вуза «молодой ишшо», часто-густо (но не у всех) в голове у него ветер. Это не потому что он плохой, просто жизненный опыт приходит с возрастом.

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

Не умеете, ну… как же вы дожили до своего возраста?

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

Что делать, если оффер получен

Стоит ли говорить, что сумма зарплаты на первом месте работы - не самое главное? Да, она должна обеспечивать хотя бы минимальные потребности, ну там снимать койко-место, одеваться в секонде и кушать не одни только макароны, но не вздумайте торговаться! Джуниоров на рынке очень много, есть и с профильным образованием. И я писал выше, что у них преимущества есть. Поэтому, получили оффер - радостно киваем и выходим на работу . На ней, между прочим, ещё продержаться надо. Для джуниора-стажера увольнение не редкость, даже если для своего уровня он идеален. Просто толку от такого человека сравнительно мало, делает он самую простую работу. Закончилась такая или просто заказчик решил сократить штат: «спасибо, дорогой друг, мы будем о тебе вспоминать». Что же делать? Как я и говорил, готовиться к финансовой нестабильности и не унывать - быстренько искать другую работу . Ещё хороший способ: брать на текущей работе отпуск и идти на стажировку/испытательный срок. И только если он успешно пройден, увольняться со старой. Это сложно, согласен, но на ваших руках, возможно, семья, другие близкие люди - рисковать их будущим вы не можете.

Каким бы совершенным ни был компьютер, без программного обеспечения он представляет собой просто груду металла и пластика. Именно программы определяют, что и как , в какой последовательности он выполняет те или иные операции. Первые языки программирования начали появляться в начале пятидесятых годов и использовались для преобразования простых арифметических выражений в машинный код. Машинный код – это система команд вычислительной машины, интерпретируемых непосредственно микропроцессором. Но человеку писать программу в машинных кодах очень неудобно. Для того чтобы облегчить труд программиста, и начали создаваться языки программирования .Языки программирования делятся на языки высокого уровня и низкого. Чем выше уровень языка, тем легче на нем писать программисту. Такой язык более понятен человеку, так как позволяет с помощью простых смысловых конструкций задавать необходимую последовательность действий. После создания программы происходит ее компиляция – то есть автоматический в понятный процессору язык машинных кодов. Языки низкого уровня находятся гораздо ближе к языку машинных кодов, поэтому писать на них труднее. Но у них есть свое преимущество – написанные на таком языке программы получаются очень быстрыми и компактными. Наиболее популярным низкоуровневым языком является Assembler. Некоторые его преимущества настолько очевидны, что даже в сложных программах, написанных на высокоуровневых языках, часто применяют вставки на Ассемблере.Несмотря на существование большого количества языков программирования , получившие широкое распространение можно пересчитать по пальцам. Одним из самых распространенных является язык C++. Это очень удобный и достаточно простой для программиста язык, позволяющий создавать программы любого уровня сложности. Не так давно компания Microsoft разработала язык C# (читается как «си шарп»), обладающий рядом новых возможностей и предназначенный для написания программ под операционную систему Windows. Компания Microsoft выпустила и очень популярную среду программирования Microsoft Visual Studio, позволяющую программировать на С++, С# и некоторых других языках.Очень известным является язык программирования Delphi. Свое происхождение он ведет от некогда знаменитого Паскаля, однако благодаря усилиям компании Borland приобрел ряд новых качеств, став, по сути, новым языком. Писать на этом языке достаточно просто и удобно, а благодаря среде программирования Borland Delphi он получил очень широкое распространение.Без языков программирования было бы невозможным и существование интернета. Такие языки , как Perl и PHP позволяют создавать скрипты, определяющие выполнение на страницах сайта необходимых действий. Даже создание самой простой интернет-страницы невозможно без знания HTML – стандартного языка разметки документов. Вычислительные устройства сейчас находятся повсюду: в сотовых телефонах и банкоматах, в станках с числовым программным управлением и в телевизорах. Трудно найти сферу жизни, в которой они не были бы тем или иным образом задействованы. И все эти устройства работают благодаря программам, написанным с помощью тех или иных языков программирования .

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

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

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

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

Ассемблер

Ассемблер - группа команд двоичного кода, сгруппированного по секциям. Этот язык используется при дизассемблировании программ. Бывает необходимо узнать код программы по ее исполняемым файлам. Для этого необходимо расшифровать исполняемый файл (работа во многом перекликается с криптографией). Этот процесс расшифровки исполняемых файлов называется дизассемблированием. На выходе программист получает группу команд ассемблера, даже если изначально программа была написана на другом языке. Работа с ассемблером (asm) напоминает программирование в двоичном коде, являясь испытанием даже для сильных программистов.

Популярный С++

Огромное количество программ и оболочек в мире написано на языках группы С. Сам язык С был создан в 1970 году для работы с процессорами. Этот язык отличался большой простотой.

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

Новые языки

В настоящее время широкой популярностью пользуются свободные «абстрактные» языки программирования: NOSQL, Erlang, Python. Освоить их непросто, однако специалисты редких языков пользуются большой популярностью. Как правило, новые языки создаются для решения специфических задач: работы с web-интерфейсами, создания приложений или управления серверными процессами. Особая трудность программирования на новейших языках заключена в их малой исследованности - имеется мало компонентов и библиотек, спецификаций и учебников.

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

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

Нужно ли изучать программирование конкретно мне?

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

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

Грег Поллак, основатель обучающего сервиса Code School , говорит так:

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

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

А не староват ли я для этого?

С чего начать

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

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

Я ничего не знаю

В случае, когда опыта нет вообще, то лучше начинать с чего-то более простого для понимания. Хорошими примерами могут быть основы HTML и CSS.

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

На самом деле, с большой вероятностью, вы уже имели дело с HTML, просто не знали этого. Если у вас есть или был блог, то вы гарантированно сталкивались с разметкой. Любой вменяемый WYSIWYG редактор представляет содержимое, как в визуальном, так и в текстовом режиме. Стоит посмотреть в текстовый режим представления, и там окажется тот самый HTML. Более глубокое освоение HTML поспособствует выходу за пределы видимых возможностей редактора вашего блога или сайта, позволит сделать страницы вашего уголка в Интернете функциональнее и интереснее. В общем, учить HTML полезно, как ни крути.

Я хочу делать красивые веб-приложения

В этом деле вам понадобится знание JavaScript. Именно он позволяет делать веб-сайты красивее, эффектнее и функциональнее. Существует несколько популярных (и совместимых) сред разработки JavaScript, такие как Ember, Angular и Backbone.

JavaScript живёт уже 20 лет и не собирается никуда уходить. По факту, его доминирование в сфере лишь усиливается. Ввиду своей популярности, JavaScript есть где подучить. К примеру, упоминавшийся выше Поллак называет курсы этого языка самыми популярными на Code School.

Если вы что-то делаете в вебе, то вам необходимо учить JavaScript.

Хочу быстро делать прототипы

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

Ruby отличается развитой экосистемой и одним из самых активных и отзывчивых сообществ. Разработанный в далёком 1995 году, язык начал набирать особую популярность с 2003 года, когда появился фреймворк Rails. Благодаря нему процессы создания сайтов и веб-приложений значительно упростились.

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

Для быстрого старта можно порекомендовать Learn Python The Hard Way , либо раздел Ruby на Code Academy.

Хочу сделать Android-приложение

Разработка Android-приложений, в основном, осуществляется в Java. Прелесть в том, что для работы вам подойдёт и Windows, и OS X. Обе операционные системы дают возможность устанавливать среды разработки для Android. Ещё один плюс - возможность бюджетно тестировать свои приложения, ведь на рынке есть куча дешёвых смартфонов и планшетов на Android.

Ещё один очень важный момент: если буквально пару лет назад ключевой платформой была iOS, то уже сейчас разработчики предпочитают стартовать с Android.

Бесплатный вводный курс программирования на Java можно найти на Udacity . Когда основы изучены, ваш путь ляжет в сторону официального сайта разработчиков под Android . Тут можно научиться тонкостям создания своего первого Android-проекта.

Хочу сделать iOS-приложение

Разработка под iOS куда более требовательна к инструментам. Помимо знания Objective-C, вам потребуется Mac с OS X версии 10.7 или выше, Xcode - бесплатный инструмент для создания приложений, а также комплект средств разработки для iOS.

От начинающих программистов звучит так: «С какого языка мне начать?» Для ответа мы привлекли наших экспертов.

Все зависит от того, какую область вы выберете. Если вы хотите работать непосредственно с железом, писать драйверы и различные приложения, для которых требуется максимальная производительность, - тогда подойдут только C или C++. Если ваша цель - приложения для мобильников, стоит изучить Java или Objective C, C#. Для веб-серверов необходимы go, python и php; для веб-приложений - JavaScript.

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

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

Повысить Понизить

Python вполне подойдет для изучения общих концепций программирования. Это очень популярный язык, у него много библиотек, синтаксис легко читаемый и довольно аккуратный код. Основными преимуществами Python для новичков является то, что он довольно распространен и его легко выучить. Вы с легкостью сможете на нем писать как web-приложения, так и обычные десктопные. В зависимости от предметной области, необходимо выбрать объектно-ориентированный язык. Например, если вы занимаемся системным программированием, то лучше всего подойдет С++. Если вы разрабатываете корпоративное приложение (информационные системы предприятий), то это С# или Java.

Повысить Понизить

Я в своё время начинал с Фортрана и Паскаля, так как они были у меня в институте. Потом был С/C++, Visual Basic Script, PHP и Visual Basic, потом C#, потом немного F#.

Если опираться на свой опыт и иметь возможность выбирать, наиболее комфортно мне было разрабатывать на С#, и с него бы я и начал. Больше всего в плане понимания алгоритмов и механизмов работы ОС, под которые я писал, дал мне C++.

Повысить Понизить

Полагаю, лучше всего начать обучение с JavaScript. Благодаря веб браузерам, этот язык программирования является стандартом де-факто при создании веб приложений, одной из самых быстрорастущих областей разработки. Также по нему есть великолепная бесплатная книга, «Eloquent JavaScript» , переведенная на русский.

Повысить Понизить

Все зависит от задачи, которую вы хотите решить. Однако если это ваш первый язык, я бы порекомендовал язык со строгой типизацией общего назначения (C++, Java, .NET): с ними в любом случае не пропадете и будет легко перейти на любой другой. Ещё интересный способ понять, какой язык взять для изучения – зайти на GitHub , ввести в поиск интересующую тему и посмотреть, на чем пишут другие разработчики.

Повысить Понизить

, технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

Здесь всё зависит от возраста. Если вы решили действительно смолоду учиться программировать, и вам еще нет 12 лет – лучше начинать с простых графических языков, типа Kodu Game Lab или Scratch . Считается, что традиционные языки программирования стоит осваивать после 12-ти. Из традиционных языков мне всегда был близок C # — для него есть хорошая среда разработки, а программировать можно всё: от игр в Unity , до веб-сайтов на ASP .NET или электроники. Для обучения можно посмотреть видеоуроки , или почитать книжку C# для школьников .

Повысить Понизить

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

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

какой язык программирования самый легкий

  1. Чем легче язык программирования, тем труднее написать на нем нужную программу.
    Самый простой, вероятно, Basic, но учить его не советую - он сильно портит стиль программирования. Лучше начни с Pascal, он специально был придуман для легкого изучения начал программирования. Могу рекомендовать книгу "Рубанцев. Занимательные уроки с Паскалем". Потом изучишь С, а потом C++. Имей в виду, что знание языка программирования - далеко не все, что нужно программисту. Язык - это только система условных обозначений.
  2. в интернете и книгах не обучишся никогда надо идти в вуз для этого чтобы был учитель
  3. можно любой язык программирования выучить в домашних условиях, главное было желания.
    вот я читал книги всякие по программированию, и все же научился программировать, но если будет учитель то тоже супер будет.
  4. Вот файл со старого диска с делфи--------------Borland (Inspire) Delphi 5.1 Enterprise Edition Русская и Английская версии. + РУССКАЯ ДОКУМЕНТАЦИЯ Новая, обновленная версия одного из самых известных языков программирования. Этот язык настолько прост, что научиться работать с ним может даже школьник менне чем за неделю! (Без отрыва от учебы и экзаменов) . Вместе с этим это очень мощный язык, на котором пишутся огромные мультимедия приложения и базы данных. Благодаря системе компонентов, которая заложена еще в Паскале Вы можете максимально настроить вашу копию Delphi для создания приложения по вашему профилю. Благодаря компонентам (и элементам управления ActiveX вы можете очень быстро и легко создавать как простые приложения так и корпоративные разработки. На этом диске представлена большая подборка компонентов для Delphi 5(свыще 150), элементы управления ActiveX для любых программ разработки (в том числе и Delphi). Также представлены инструменты для работы и программы-инсталляторы, благодаря которым вы можете легко распостранять ваши готовые приложения. Естесственно, прилагается большая подборка русских учебников и книг, часто задаваемых вопросов, советов.
  5. Все они одинаковы.
    Сложными кажутся из-за недостатка ХОРОШЕЙ обучающей литературы и избытка ДРЯННОЙ.
    Поэтому надо выбирать язык, по которому больше книг, сайтов и образцов кода.
    В этом смысле лучше всех php. Но он серверный. Впрочем, есть локальный сервер с набором нужных программ - Денвер, он бесплатный и с ним справится любой юзер.
    Неплохи также C++, C# и Java.
    Java - самая кроссплатформенная. Но и для других есть возможность пользоваться.
    И, не читайте длинных книг. Вообще, если к книге не приложены образцы кода, не тратьте на не время. Лучше всего учиться на сайтах, и не на одном, потому что одни темы лучше изложены в одних местах, другие - в других.
  6. Языков для "чайников" не бывает.
    Программист - серьзная и ответственная работа, к которой и приготовиться нужно серьзно. В частности, перестать считать себя "чайником" - программисту это просто вредно.

    Начинать лучше всего, пожалуй, с C#, он простой, понятный, весьма популярный и в то же время в известной мере кроссплатформенный.
    Вот здесь про него подробнее. http://otvet.mail.ru/answer/487569344
    Но "чайнику" и с ним будет тяжело, пока не перестанет считать себя "чайником" и решит стать профессионалом.

  7. Самый легкий C#, из web-a: PHP
    Я изучал Pascal, C++, Js там посложнее.
    Если хочешь действительно постепенно делай

    HTML-gt;CSS-gt;PHP, ООП PHP, C# =gt; C++

    Поймешь логику языков, а так Pascal является основой обучения простым алгоритмам в универах.
    Хочешь изучасть чтобы повеселее было: начни с C++Builder/ VC++ Windows Form

  8. прочитай кнутта "искусство программирования" и язык уже не будет иметь значения, т. к. в ней разжевывается сам принцип программирования и построения алгоритмов, а язык это всего-лишь инструмент который ты подбираешь для решения задачи 🙂
  9. С целью найти что то легкое - у тебя ничего не выйдет
  10. Basic, Pascal, Delphi лет 10 как мертвы.
    PHP поощряет писать говнокод

    С++ точно не "самый легкий -для "чайников"

    Я бы выбрал Python

  11. Не указан критерий "лгкости". Если по синтаксису, то меньше всего правил у Фортрана. Он же подходит по кроссплатформенности - везде есть.