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


5 языков программирования, которые надо учить первыми | GeekBrains

Основа востребованности современного программиста.

Сегодня каждый, кто стремится попасть в IT, задается вопросом — какой язык программирования изучить? Все ищут универсальный ответ, который предопределит головокружительную карьеру. Да, до изобретения интернета и появления мобильных платформ можно было освоить один язык, написать на нем программу и быть востребованным разработчиком. Сегодня реалии таковы, что даже джуниорам предъявляется огромный список требований, среди которых — знание нескольких языков.

Судите сами: для веб-разработки неплохо бы владеть PHP, JavaScript, Python, Ruby, а еще HTML и CSS; в мобильной сфере — Swift, Objective-C, Java, C#. Перечень языков для создания десктопных приложений можно даже не начинать — по сути, все будут полезны. Именно поэтому мы взяли на себя ответственность назвать 5 языков программирования, которые надо изучить хотя бы шапочно, чтобы сегодня называться программистом.

Python

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

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

def fib_recursion(i): if i > 1: return fib_recursion(i-1) + fib_recursion(i-2) return i for i in range(10): print i, fib_recursion(i)

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

Стоит упомянуть, что на данный момент актуальны две версии: Python 2 и Python 3. Вам за основу лучше брать последнюю, так как поддержка Python 2, а значит — и активная разработка на ней, прекратится совсем скоро.

JavaScript

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

function fib_recursion(n) { return n < 1 ? 0 : n <= 2 ? 1 : fib_recursion(n - 1) + fib_recursion(n - 2); } console.log(fib_recursion(10));

Объем кода практически не изменился, зато снизилась читаемость. После изучения Python вы без проблем разберетесь, как работает структура return, и оцените удобство именно такого способа записи.

Кроме того, экосистема JavaScript богаче, чем Python. Она предлагает обилие сред разработки, редакторов кода, фреймворков, библиотек. Это еще один шаг к пониманию, как работает «взрослое» программирование.

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

C#

Если вы не определились с языком, значит еще не решили, что вас привлекает: веб, мобильные или десктопные приложения. Тогда ваше решение — C#, универсальный инструмент для всех направлений разработки. Чтобы создавать десктопные приложения, понадобится Visual Studio (версия Community — бесплатная). Для мира мобильных устройств установите Xamarian, а для веба пригодится ASP.NET.

Взглянем на наш код на языке C#:

static void Main(string[] args) { int number = 10; fib_recursion(number); } static void fib_recursion(int n, int a = 0, int b = 1) { if (n == 0) return; Console.WriteLine(a); fib_recursion(--n, b, b+a); }

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

Swift

Подходим к самому интересному — языкам, безупречное владение которыми поможет вам попасть в сферу мобильной разработки. Swift не вполне универсален: он еще не полностью вытеснил Objective-C из приложений для Apple, но перспективы у него блестящие.

Четвертая версия Swift вышла в 2017 году: она содержит множество улучшений для работы со строками, коллекциями; возросла надежность и многое другое. Это уже не «сырой» язык, а классический представитель верхушки рейтинга TIOBE с планомерным развитием. С помощью Swift вы можете создавать приложения для всех продуктов Apple: macOS, watchOS, iOS и любой новой системы, если она появится.

Посмотрим на код последовательности Фибоначчи:

func fib_recursion(num1: Int, num2: Int, steps: Int) { if steps > 0 { let newNum = num1 + num2 fib_recursion(num2, num2: newNum, steps: steps-1) } else { print("result = \(num2)") } } fib_recursion(0, num2: 1, steps: 10)

Java

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

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

А вот так выглядит Java-код нашей последовательности в простейшем императивном случае:

public class MainClass { public static long fib_recursion(long number) { if ((number == 0) || (number == 1)) return number; else return fib_recursion(number - 1) + fib_recursion(number - 2); } public static void main(String[] args) { for (int counter = 0; counter <= 10; counter++) System.out.printf("Fibonacci of %d is: %d\n", counter, fib_recursion(counter)); } }

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

Заключение

К списку можно было бы добавить ряд полезных языков вроде PHP, C++ или Ruby. Или несколько функциональных для общего развития: Lisp, Haskell, Clojure. Впрочем, до этого вы обязательно дойдете. Но сперва выбирайте специализацию, записывайтесь на курсы GeekBrains и осваивайте пять описанных must know языков.

geekbrains.ru

Изучите все языки программирования / Блог компании Инфопульс Украина / Хабр

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

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга? — Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

Интерпретатор brainfuck, написанный на brainfuck

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.

И сразу — отказ от ответственности :)

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

Тогда зачем этим заниматься?

Если вы видите какую-то значительную часть своей карьеры связанной с написанием программного обеспечения, то вам неплохо бы быть знакомым с языками программирования:
  • Даже не выбирая каких-то определённых языков программирования (или выбрав всего один) через пару лет работы программистом вы обнаружите, что уже писали (или читали) код на нескольких языках. Так почему-то случается всегда
  • Вы обнаружите, что имея знания о нескольких языках программирования, вам захочется каждый раз иметь возможность выбирать один из них для решения тех или иных задач
  • Языки программирования расцветают и устаревают. Знания нескольких из них дают вам возможность оставаться на острие прогресса, иметь доступ к более интересным проектам или хорошим компаниям
  • Многие важные проекты требуют фундаментального понимания работы компиляторов и знания нескольких языков программирования. Это реализации средств разработки, стандартных библиотек, предметно-ориентированные языки, IDE, браузеры, базы данных, средства статического анализа, и т.д.
Лично мне очень важным кажется именно последний пункт. Ras Bodik хорошо подчеркнул этот момент в своей лекции студентам Беркли, когда объяснял важность изучения курса разработки компиляторов:Не будьте разработчиками шаблонного ширпотребного софта. Вместо этого, постарайтесь разрабатывать новые инструменты для пользователей и других программистов. Если провести историческую аналогию, то кем бы вам больше хотелось быть: работником за ткацким станком, ежедневно выполняющим рутинные операции или разработчиком новых моделей таких станков?

Шаг номер 0: перестаньте называться себя «программист на Rails (подставьте свой язык\платформу)»

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

Примером может быть Alex Gaynor — большой специалист по Python, один из Core Developers таких вещей как Django и PyPy, член совета директоров Python Software Foundation. Но однажды его попросил о помощи United States Digital Service — и Алекс провёл несколько лет в проектах на ASP (даже не на ASP.NET, а на том, старом ASP). А знаете, почему? Потому, что он — «инженер по разработке программного обеспечения», а не «Python-разработчик».

Шаг номер 1: перейдите на мета-уровень

Есть такой старый анекдот о том, как прикладной физик случайно попал на конференцию теоретических физиков. Он обратился к одному из докладчиков и спросил, как ему вообще удаётся думать о всех этих вещах, происходящих в 11 измерениях? Теоретический физик ответил: «О, это просто. Просто представь N измерений, а потом зафиксируй N равным 11».

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

Для тех, кто никогда не имел возможности пройти курс изучения компиляторов, я могу посоветовать несколько отличных книг и онлайн-материалов. Во-первых, это курс от Alex Aiken, который когда-то был доступен на Coursera, а теперь — на собственной платформе Стенфорда (Lagunita). Неплох и курс от Беркли — CS164. Правда, они перестали публиковать в открытом доступе его обновления, но материалы 2012 вроде бы ещё доступны.

Каноническая настольная книга о компиляторах: «Compilers: Principles, Techniques & Tools». Она же — Книга Дракона. Как и все книги такого уровня, она имеет как неистовых фанов, так и непримиримых критиков. Лично я считаю её отличным материалом, но будьте готовым к тому, что некоторые её части придётся перечитывать не один раз до полного понимания. Есть более простая и направленная на практиков книга — это Language Implementation Patterns. Если ваш интерес ограничен какой-то конкретной практической задачей небольшого масштаба (вроде написания предметно-ориентированного языка), то эта книга подойдёт лучше, чем классическая Книга Дракона.

Книга Дракона

Шаг номер 2: начните с первоисточников

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

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

Выучите хотя бы 5 языков программирования. В ваш багаж знаний должен входить хотя бы один язык с классической абстракцией «классов» (это может быть Java или С++), один функциональный язык (вроде Lisp, ML или Haskell), один язык с поддержкой синтаксической абстракции (вроде Lisp), один декларативный язык (Prolog или шаблоны С++), один язык с продвинутой поддержкой параллелизма (Clojure или Go). Я считаю этот совет отличной базой, но вы можете пойти по этому пути и дальше. Во-первых, я советую вам выучить язык С как можно раньше. Он настолько вездесущ и важен, что его просто нельзя обойти стороной. Кроме того, изучение С сделает намного проще изучение и остальных языков, поскольку ну очень многие из них взяли какие-то идеи или части синтаксиса именно из С.

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

Peter Norvig рекомендует изучение декларативных языков, но я был бы здесь более конкретным и посоветовал бы изучить язык логического программирования. Это может быть как классический Prolog, так и miniKanren.

В разделе «языков с поддержкой параллелизма» к упомянутым вариантам я бы добавил ещё и CUDA. Это качественно другой масштаб параллелизма, ведь сотни ядер GPU не сравнятся с какими-то 4 ядрами обычных процессоров. Вы не только поймёте лучше устройство GPU, но и заложите для себя хороший фундамент для дальнейшего изучения машинного обучения (там параллелизм и вычисления на GPU очень пригодятся). Но важно понимать, что вам нужны как знания CUDA, так и один из упомянутых языков с параллелизмом для CPU (вроде Go, Clojure или Erlang).

Векторное программирование является ещё одной мощной парадигмой. Norvig зря пропустил языки с его поддержкой, ведь они имеют достаточно конкретное прикладное применение. Классическими примерами могут быть APL/J/K/Q, а также Matlab.

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

Возможно, меня уже несколько понесло, но так трудно остановиться, когда вокруг столько всего вкусного! Кто-то скажет, что нельзя пропустить изучение Forth, чтобы понять стековые языки (хотя мне кажется работу стеков можно понять и в других языках). Кто-то скажет, что я упустил очень важный язык Х или целую категорию языков Y — и это будет правдой, ведь их немало.

Шаг номер 3: практикуйтесь

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

Хорошим способом начать изучение нового языка будет прочесть короткую выжимку на Hyperpolyglot или Learn X in Y Minutes. Это даст приблизительное понимание ключевых идей языка и уберёт страх перед незнакомым синтаксисом. Если вы уже знакомы с каким-то похожим языком, то Hyperpolyglot имеет очень удобную функцию сравнения языков — это может на удивление быстро продвинуть вас в изучении нового языка.

Другим полезным упражнением будет изучение даже не синтаксиса языка, а документа, в котором описывается мотивация его создателей. Это даст вам понимание того, почему люди вообще тратили своё время и силы на создание этой вещи, какова была их мотивация и может ли она сейчас или в будущем совпасть с вашей. Например, если вы побаиваетесь глубоко изучать С++ или скептически относитесь к некоторым решениям Страуструпа, вам определённо стоит прочесть книгу The Design and Evolution of C++. Большинство других языков программирования тоже имеют в некоторой мере аналогичные публикации.

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

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

Как только вы освоитесь с синтаксисом и небольшие задачи уже не будут вызывать у вас проблем, я советую найти большой проект на этом языке. И это должен быть проект именно в той сфере, для которой был создан этот язык. Например, если вы изучаете C или Go — пишите утилиту командной строки с большим количеством системных вызовов. Если изучаете Python или Ruby — попробуйте написать что-то алгоритмическое и не очень требовательное к производительности (ИИ для крестиков ноликов :) ) ну и т.д.

Продолжайте копать

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

Gerald Jay Sussman обратил внимание на это в его потрясающем докладе We Really Don’t Know How To Compute. Он использует несколько устаревший инструментарий, но и существующие сегодня инструменты не дают нам каких-то качественно иных подходов к решению освещённых им проблем.

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

Одним из людей, работающих на передовом крае науки в направлении разработки языков программирования, является Chris Granger, работающий над Eve. Он хочет разработать не только язык, но и весь сопутствующий инструментарий. Язык будет лишь одной из важных компонентов общей платформы. Я не знаю, станет ли его Eve новым поколением мейнстрим-платформ, но верю, что подобный подход, расширяющий и дополняющий язык вспомогательным инструментарием, может стать частью будущего. По крайней мере, это даст возможность лучше объяснить компьютеру, что же мы хотим от него получить. Как уже говорил выше Ras Bodik (и повторил я), мне бы хотелось, чтобы вы были частью этого прогресса. Изучайте все языки программирования, а не один какой-то язык. Понимание основ и принципов позволяет видеть дальше и быть готовым к появлению нового.

habr.com

Самый простой и легкий язык программирования Vovet.ru

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

Можно его изучить и развлекаться, рисуя причудливые картинки в окне. Только есть момент - язык не стандартизирован и с момента его создания уже наплодили порядка почти 250 диалектов. И он тоже есть объектный - Object Logo.

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

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

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

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

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

  • класс;
  • объект;
  • наследование;
  • инкапсуляция;
  • полиморфизм;
  • спецификатор области видимости;
  • метод;
  • перегрузка;
  • переопределение;
  • свойство;
  • поле;
  • конструктор;
  • деструктор/сборщик мусора;
  • виртуальный метод;
  • абстрактный класс;
  • интерфейс;
  • и многое другое.

Принципы ООП в целом общие для разных языков программирования, но есть и отличия. Например: в С++ есть множественное наследование, а в Java множественное наследование не поддерживается! Но его можно сделать! Как? Да очень просто - через интерфейсы! В Java очень многое можно сделать, если ее знать глубоко и досконально.

Еще моменты - в Java и C# есть сборщик мусора, а в С++ его нет. Вот еще и с этим надо разобраться - что же за сборщик мусора и какой он мусор убирает. Поняв это, легко поймете, что такое утечки памяти, что делает деструктор и когда его надо использовать.

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

vovet.ru

Какой язык программирования лучше выбрать для начинающего? | Info-Comp.ru

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

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

Visual Basic

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

Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office. Другими словами это автоматизация задач, которые приходиться решать в таких программах как: Word, Excel, Access и других продуктов Microsoft Office. На мой взгляд, это очень полезный язык и каждый системный администратор должен знать VBA, так как ему придется решать проблему автоматизации многих рутинных процессов, а VBA отлично в этом помогает. Но VBA не является отдельным языком программирования, на нем нельзя написать отдельно работающие программы. Поэтому если Вы хотите просто научиться писать программы, то первый вариант это конечно Visual Basic, для начинающего программиста в домашних условиях самое то.

С или C++

Второй вариант, на мой взгляд, уже более правильный, это выбрать более серьезный язык, программисты, владеющие которым, уже более востребованы, например C++ или Java. Эти языки распространены в России (даже простой опрос на нашем сайте показал, что практически 45% начинающих программистов хотят изучить именно язык C++), и с помощью этих языков можно решить практически любую задачу. Но чтобы освоить их, Вам необходимо приложить немало усилий, но оно того стоит.

PHP, HTML и CSS

Третий вариант, это если Вы хотите создавать сайты, т.е. писать сайты вручную, для этих целей начинающим подойдет HTML и PHP, хотя они подойдут и для не начинающих, так как большинство сайтов в Интернете сделано с использованием этих языков. Помните, если Вы хотите стать WEB-программистом PHP, помимо HTML и PHP Вам необходимо изучать еще и CSS и систему управления базами данных MySQL или другую, так как для того чтобы создать полноценный сайт используются все эти технологии в связке.

В заключение подведем итог, лучший вариант для начинающих - это Visual Basic, но только для освоения принципов программирования не имея никаких планов в дальнейшем. Так как переходить потом на другие языки будет просто на всего не охота и сложно, потому что после Visual Basic например язык Си Вам покажется очень сложным (синтаксис и так далее). Хотя язык Си является отличным языком программирования, на нем пишутся высоконагружаемые приложения, так как программы на языке Си выполняются быстрей, чем те же самые программы, если бы их реализовать на других языках (исключение язык Assembler). Если все-таки планы на будущее имеются, и Вы хотите стать хорошим программистом, то однозначно нужно начинать с языка Си, изучив который Вам будет намного легче переходить к производным этого языка, таким как C++, C# или JAVA, которые очень распространены и широко используются в России.

На этом все, Удачи!

Похожие статьи:

info-comp.ru

Ответы@Mail.Ru: Какой язык программирования самый сложный, какой

Напридумывали-то сколько. :D) Самый лёгкий - это HQ9+ и никакие Бейсики с Паскалями и Лого не сравнятся с ним по простоте. А самый сложный - это бесспорно <a rel="nofollow" href="http://ru.wikipedia.org/wiki/Malbolge" target="_blank" >Malbolge</a>. Самого нужного не существует, хотя на его роль как раз-таки претендует Ассемблер. Без малюсенькой программки, написанной на нём, ни одна железяка под названием компьютер даже не стартует. P.S. Ассемблер сам по себе язык несложный, проще тех же Бейсика и Паскаля. Но его применение сопряжено с необходимостью знания аппаратуры, довольно глубоких знаний системы и принципов, как всё это взаимодействует друг с другом.

QBasic-легкий. Delphi - достаточно сложный. (для меня) Программируют в C++..

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

не знаю насчет сложный, но, по-моему, C# вменяем и учится легко. ну и применим, в принципе.

Истино говорю. Внемли: ) Самый сложный - который не знаешь; Самый простой - который знаешь; Самый нужный - Ruby и Ruby on Rails:)

Их бы не было столько, если б они не нужны были. Каждый язык для своего направления, например, на Java пишут в основном приложения для телефонов, на C#/C++ для .NET, iOS, на C/C# - ОС, html/php в основном для web-разработок. Assembler - язык низкого уровня, казалось бы, по названию, что раз низкого уровня, то на фиг не надо, но это основной язык для общения с техникой. Смотря что Вы хотите написать.

Сложный <a rel="nofollow" href="http://ru.wikipedia.org/wiki/Malbolge" target="_blank">http://ru.wikipedia.org/wiki/Malbolge</a> Лёгкий <a rel="nofollow" href="http://ru.wikipedia.org/wiki/SmallBasic" target="_blank">http://ru.wikipedia.org/wiki/SmallBasic</a> А нужных до хрена!

Самый простой - LOGO. Он рассчитан на маленьких детей. Но много на нем не напрограммируешь ;) Самый сложный - сказать трудно. Возможно, C++, хотя мне кажется, что LISP. Самый нужный - C++. На его идеях основано множество других языков.

Языки не разделяются по таким критериям. 1) Самый простой - тут дело понимания и вкуса. Я на С++, например, спокойно работаю, а некоторым 3,5 оператора Паскаля понять - непосильная задача. 2) Самый сложный - опять же, смотри выше. 3) Самый нужный - языки сами по себе не нужны. Нужны программы на них, и самого-самого нужного тут нет. Дело совсем не в языках. Язык - лишь средство, но не цель.

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

ну самый лёгкий школьный pascal самый тежолый java (как мне показалось когда я посмотрел на нём hello word) а может и ассемблер ну а самый могучий это конечно c++ он неочень тежолый (я его щас сам изучаю)

Самый простой - smallbasic Самый сложный - Двоичный код Самый нужный - Ассемблер

Perl несмомненно.

Самый простой (По моему мнению): Logo и Scratch Самый тяжёлый: Malbolge. Не верите? Вот код ввода знаменитой фразы "hello, world!" (=&lt;`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O&lt; Есть и другой вариант ('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@&gt;}=&lt;M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx А по сути все они важны.

мозготрах или же brain f*ck фраза hello world на нём пишется вот так: ++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;++ .&gt;+.++++++++++&gt;++.&lt;&lt;+++++++++++++++&gt;.+++ --------------&gt;+.&gt;. Но несмотря на то, что его создатель сошёл с ума, на хабрахабр я даже видел учебник по нему.

самый труудный язык который лично я встречал это с# ИМХО

Malbolge — эзотерический язык программирования!

touch.otvet.mail.ru

10 языков программирование, которые стоит изучать | Разное | Статьи | Программирование Realcoding.Net

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

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

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

Хорошие учителя всегда обращают внимание, что язык программирования - это всего лишь язык. И для хорошего программиста конкретный синтаксис не имеет значения. Эту фразу сказал в интервью для eWeek Тим Хакаби, глава программной компании CEO Interknowlogy.com из Сан Диего.

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

Тим Хакаби: "Мы ищем профессионалов, прилагая для этого максимум усилий, даже в свое свободное время. Иногда приходится нанимать выпускников школ, владеющих .Net или даже Java на начальном уровне, с целью научить их профессиональному программированию, чем найти готового профессионала.

"Не останавливайтесь на одном или двух языках. Когда я начинал работать, в 1969, перспективными считались Fortran, Cobol и Assembler S/360. Сегодня на арене Java, C и Visual Basic. Через 10 лет ситуация кардинально изменится и будут востребованы совершенно другие языки программирования. В конечном счете, я выучил около 24 разных языков программирования за 30 лет", - подчеркнул, Вейн Дюкейн, директор по программным разработкам Granview Systems из Себастополя в Калифорнии.

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

1. PHP

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

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

Количество вакансий: 1152 (количество вакансий взято с одного из самых популярных американских сайтов по трудоустройству для профессионалов в области технологий Dice.com).

2. С#

Что это: Объектно-ориентированный язык общей направленности, код в котором компилируется. Это язык разработанный, Майкрософт как часть платформы .Net на основе языков C и С++.

Почему его стоит учить: Это важная часть среды разработки .Net. Изучение C#, который можно было бы сравнить с Java, получившим другое имя, очень важно, если вы ориентируетесь на использование технологий Майкрософт.

Количество вакансий: 5111.

3. AJAX (асинхронный JavaScript и XML)

Что это: Не смотря на то, что технически это не язык программирования, AJAX использует XHTML или HTML, JavaScript и XML для создания интерактивных веб-приложений.

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

Количество вакансий: 1106.

4. JavaScript

Что это: Не стоит путать с Java. JavaScript - это объектно-ориентированный язык скриптов, который выполняется на стороне клиента веб-браузером. Он меньше, чем Java, имеет упрощенный набор команд, легче кодируется и более прост в изучении.

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

Количество вакансий: 4406.

5. Perl

Что это: Язык программирования с открытым кодом, кросс-платформенный, выполняется на стороне сервера. Код интерпретируется. Получил широкое распространение, как удобное средство для обработки текста в CGI программах.

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

Количество вакансий: 4810.

6. С

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

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

Количество вакансий: 6164.

7. Ruby и Ruby on Rails

Что это: Ruby - это динамичный, объектно-ориентированный язык с открытым кодом. Ruby on Rails - инструментарий разработчика с открытым кодом для веб-программирования, написанный на Ruby.

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

Количество вакансий: 264.

8. Java

Что это: Объектно-ориентированный язык программирования, разработанный Джеймсом Гослингом и группой разработчиков из Sun Microsystems в начале 1990-х.

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

Количество вакансий: 14408.

9. Python

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

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

Количество вакансий: 811.

10. VB.Net (Visual Basic .Net)

Что это: Объектно-ориентированный язык программирования, который входит в комплект средств разработки от Майкрософт.

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

Источник: http://www.stolica.ru/

www.realcoding.net

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

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

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

Самые сложные языки – обычно самые функциональные

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

  • C++. Постепенно устаревающий, но все еще очень функциональный и распространенный язык. Он довольно сложен в изучении, но при хорошем знании с его помощью можно писать не только программы на ПК, но даже и целые операционные системы или их модификации, разрабатывать игры. Он сочетает в себе возможности программирования низкого и высокого уровня. Также с помощью С++ можно работать с компьютерной графикой, писать драйвера на устройства, создавать программы для работы на серверах и многое другое;
  • PHP. Отличный язык для разработки веб-приложений и динамичных сайтов. Способен реализовать любую задумку веб программиста и представить предельно качественный и функциональный продукт;
  • С#. Си Шарп – это тоже непростой в изучении язык, но и он предоставляет программисту очень широкие возможности: создание офисных приложений, мобильных программ, использование в играх, веб-приложениях и других сферах.

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

bunkerbook.ru