На каком языке писать программу. C какого языка программирования начать

Из письма: "Здравствуйте! Никак не могу решиться, какой язык мне лучше начать серьёзно учить (немного знаю pascal (Delphi) и C), в основном хотелось бы писать программы под линукс, но и под другие системы тоже. Так как Си уже отмирает, то не знаю что выбрать: С++ или Java. Помогите, пожалуйста, с выбором, может вообще учить что-нибудь другое, неважно что, сложнее или легче, мне важнее что лучше и нужнее… "

Ответ 1: Я бы не сказал, что Си умирает. Для того чтобы писать на C++ и C#, нужно знать чистый Си. Ведь язык-то тот же, только добавилось объектно-ориентированное программирование. Зная Си, вы без труда освоите и Java, и C++, и C#. Ведь они все по своей сути базируются на си. Изучать новые языки намного легче, если вы уже знаете какой-то (в вашем случае Паскаль и Си). Сейчас входит в моду язык C# и J#. Советую вам установить на компьютер Microsoft Visual Studio и Borland JBuilder. И начать изучать эти языки. Так как это переносимые языки, то у них большое будущее. В частности Java используется очень широко для мобильных ОС.

Ответ 2: На самом деле и с C++ и с Java — работу найдешь легко, если будешь разбираться на должном уровне. Если хочешь «кодить» под Linux – лучше, конечно, С++, просто в исходниках сможешь разбираться, да и «кодить» тоже, разумеется. При этом, после С++ пересесть на Java проблем, думаю, не составит, если жизнь заставит, языки очень похожие! На мой взгляд с хорошим знанием С++ можно будет перейти на что угодно и разобраться с любой технологией.

Ответ 3: Если под Юникс системы, то С однозначно. Под него можно на всех (почти) языках программировать, но "родной" для него все-таки лучше. А вообще это только первое время для тебя будет большое различие между Си и Делфи — когда поймешь, как это работает в одном языке, то поймешь это и в другом.

Ответ 4: Я думаю, что лучше тебе остановить выбор на СИ++… И под Linux много что можно написать, и постепенно изучать Visual для качественного программирования под Windows.

Ответ 5: Важен не язык — важен продукт. То есть конечному пользователю Вашей программы совершенно все равно на чем она написана!

Я все же советую изучать C++, а именно Microsoft Visual C++, причем обязательно с использованием MFC, так как: 1. Классы очень экономят время; 2. Люди получают за это деньги, следовательно, с работой проблем не будет. 3. Как можно увидеть из названия — первое слово везде Microsoft, а это значит, что это актуально.

Я тоже долго метался по оболочкам и языкам — бэйсик, паскаль, с, делфи… Но в конечном итоге остановился на Вижуал С++.

И еще: я не думаю, что Делфи и Вижуал С++ схожи, у них есть свои особенности, взять хотя бы то, что они построены на разных языках, по разному задаются объекты, да и компоненты разные. То есть, выбрав какую либо среду, скорее всего, сможешь пользоваться второй, только ограничено. Теоретически можно две среды выучить, но практически ни одну из них не будешь знать в совершенстве – просто времени не хватит. В общем, от Вашего выбора зависит, в какую ветку портала Вы попадете. Каждый кулик хвалит свое болото! А по сути это все не важно.


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

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

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

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

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

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

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.»


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

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

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один - тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ - классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

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

Java - это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве - от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python - это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

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

С точки зрения задачи выбор языка - это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», - такое тоже бывает.

С точки зрения разработчика, выбор языка - это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то - задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.»

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


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

SpoilerTarget">Функция

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

SpoilerTarget">Задача

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

SpoilerTarget">Исполнение

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

Какие языки программирования бывают:
BASIC и Pascal:

BASIC всегда считался самым простым языком программирования.
Pascal самым подходящим языком для обучения программированию.
Но теперь это не так. Да, BASIC прост. Но он создавался во времена,
когда человечество не имело никакого опыта создания компьютерных систем,
и основан на устаревших и не оправдавших себя принципах.
Собственно, никакой фундаментальной целостной идеи в основе BASIC не лежит.
Сегодня есть простые и при этом более наглядные и идейно замкнутые языки программирования, нежели BASIC.
Pascal удобен в учебных целях, ведь именно для них он и создавался.
Люди быстро учатся решать с его помощью алгоритмические задачки.
Но так получается, что изучать Pascal полезно только для того, чтобы писать программы на Pascal.
А если нужно создать настоящий программный продукт, Pascal оказывается неудобен.
И людям, знающим только Pascal, приходится переучиваться, что часто сложнее,
нежели изучить правильные языки и технологии с нуля.
Какие есть альтернативы:
Альтернатив много. Ныне есть целый зоопарк (экосистема) языков программирования,
которые постоянно эволюционируют, расщепляются и сливаются.
Это языки Форт, Ruby и Python.
Перечислим ключевые факторы, управляющие отбором:
Предоставление языком высокоуровневых средств контроля за целостностью и безошибочностью кодa на первом этапе сборки проектов. Это относится в первую очередь к языкам Java, Haskell, и Python. Языки стараются делать такими, чтобы программист просто не мог допускать ошибок. А если ошибки все-таки делаются, то на этапе компиляции (трансляции) они должны находиться. В частности, опечатка в одном символе не должна приводить к тому, что программа компилится и запускается (а такое бывает, например, в языках Бейсик и Perl, если не указан явно специальный режим strict. Язык Java создавался в контексте анализа типичных ошибок и проблем, возникающих в проектах на языке Си++. Создатели Java постарались внести в синтаксис и базовую парадигму такие ограничения, чтобы типичные ошибки программистов на Си++ просто не могли появиться в проектах на Java. Это очень важная идея: если умело заключить себя в рамки, можно получить выгоду. Следует отметить, что в крупных корпорациях часто программистам выдаётся список правил оформления программ и набор конструкций, которые нельзя использовать в коде, несмотря на то, что сам язык их допускает. Излишняя гибкость языка иногда вредна, так как позволяет программистам писать мутные и запутанные программы. Новые языки программирования делают так, чтобы не искушать программистов и не давать им возможности писать путано и с ошибками.
Чистота и ясность кода, читаемость кода. Далее всего здесь продвинулся, видимо, Руби. Сегодня на всех официальных сайтах программных средств среди первых достоинств указывается "естественность синтаксиса" или "близость к естественному языку" (обычно английскому). Конечно, это немаловажный фактор. Давно прошло время, когда люди подстраивались под компьютеры и кропотливо переводили свои идеи и алгоритмы в машинный язык нулей и единиц. Сегодня компьютеры все более и более подстраиваются под человеческий язык. Это удобно. Увеличивается скорость написания программ, хотя обычно это идёт в ущерб скорости выполнения и вообще рациональности получающейся программы.
Чистота и целостность парадигмы, заложенной в основу языка. Например, языки Smalltalk и Ruby базируются на чистой объектно-ориентированной парадигме, а Haskell - на чистой функциональной парадигме. Эта чистота полезна, чтобы программист чётко представлял модель, которой он ограничен, и в терминах которой ему нужно мыслить при проектировании программы.
Простота синтаксиса, прозрачность интерпретации языковых конструкций. Например, синтаксис языка Python настолько прост, что его описание помещается на одну страницу. Это позволяет программисту всегда понимать то, что он написал. Простота синтаксиса, которая с одной стороны является ограничением, может быть очень полезной, так как позволяет писать ясные, читаемые программы и не думать о том, как же именно компилятор (интерпретатор) оттранслирует ту или иную конструкцию.
Многогранность и гибкость, возможность писать сложные программы коротко и красиво. Таким свойством обладают сейчас языки Perl, Ruby, Python. Но следует отметить, что такая универсальность языков может иметь и недостатки, так как часто приводит к излишнему усложнению синтаксиса. Например, очень многогранен Perl, он богат различными конструкциями и хитрыми штучками, которые позволяют записывать сложную логику очень коротко ("коротко о многом"). В итоге очень легко написать программы, которые потом невозможно читать. Впрочем, то же самое касается и языков Си и Си++. Языкам Ruby, Python многогранность даётся с меньшими потерями, нежели Perl и Си++.
Наличие стандартных библиотек и наличие средств интеграции проектов друг с другом и с другими системами и технологиями. Cегодня все уважающие себя языки предоставляют средства для работы с базами данных, для создания графических интерфейсов, для работы с сетевыми протоколами и создания приложений с архитектурой клиент-сервер. Сегодня идёт непрерывное соревнование между скриптовыми языками программирования типа PHP, Ruby, Python, Perl и др. в том, насколько хорошо развиты в них средства интеграции с различными технологиями. Кто-то умеет работать с OpenGL, а кто-то нет.
Возможность разрабатывать адаптивные системы. Язык должен быть таким, чтобы программы, написанные на нём, не были косными и неповоротливыми. Язык должен допускать возможность внесения малых изменений в код, чтобы подстроится под динамически меняющуюся и усложняющуюся задачу. Краеугольными камнями адаптивности языковых программных средств являются гибкая многоуровневая модульность (как у языков Java, Ruby, Python, Tcl) простота средств экспорта и импорта функциональности (имеются в виду средства, направленные на то, чтобы проекты могли делится друг с другом классами, объектами и функциями) и средства поддержки рефакторинга - глобальных революционных изменений кода, проходящих сквозь модули и направленных на улучшение читаемости кода и избавление от накопившегося в процессе эволюции груза ненужной функциональности.
Есть и другие номинации. Язык Python сегодня победитель в номинации "простота синтаксиса", а Perl более, чем какой-либо другой язык удобен для обработки текстов и CGI-скриптинга. Язык Python в принципе создавался как язык интегратор. С его помощью можно интегрировать различные приложения и создавать свои собственные пакеты и новые макроязыки.
Итак, Perl многогранен, Python прост, Python красив, Ruby тоже молодец, Java и Си технологичны. Номинаций много и явного победителя нет, так же как и нет одежды, которая одинаково хорошо подходит под летнюю, дождливую или зимнюю погоду. Температура и влажность - всего лишь два параметра, а в языках программирования их гораздо больше.
В индустрии компьютерных технологий возникают самые различные задачи. Для одной задачи удобен один язык, для второй – другой. В индустрии WEB-программирования популярны языки Perl, PHP. Мало кто пишет динамические сайты на машинных языках типа Си, так как «игра не будет стоить свеч». Зато при написании операционных систем и системных инструментов, при решении задач, где скорость важна, при разработке крупных систем, от которых требуется высокое качество и технологичность, язык Си является стандартом де-факто и де-юре. Физики и математики (в том числе школьники) просто обязаны познакомится с функциональными языками программирования типа Лиспа, Хаскелла или Mathematica. Mathematica позволяет строить различные модели и интерактивно исследовать их, по ходу дела визуализируя {О языках, предоставляющих инструменты для визуализации данных следует отвести отдельный разговор.} результаты и анализируя их статистическими и другими методами. Кроме того, Mathematica позволяет производить символьные вычисления, например, находить производные и первообразные функций, вычислять суммы бесконечных рядов, и др. По-своему хороши, интересны и уникальны языки Prolog, Caml, Clips, Assembler - познакомиться с их принципами полезно каждому программисту.

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

Инструкция

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

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

Измените регистр написания каких-нибудь команд, чередуя заглавные и строчные буквы. Языки чувствительные к регистру, к примеру, С++, С#, Java, JavaScript, Perl, PHP изменят, а не чувствительные - Delphi, VFP, Basic, VBA, VBScript – оставят это без внимания, никак не изменив функцию команды.

Внимательно рассмотрите символы разделения операторов, а также операторные скобки. В языках С++, C#, Java, Perl, PHP, Delphi и Transact – SQL операторы будут разделяться символом; при этом операторные скобки языков будут отличаться, к примеру, в С++, C#, Java, Perl, PHP скобки будут иметь вид {}, а в Delphi и Transact – SQL это будет begin и end. В некоторых языках программирования такие скобки отсутствуют вообще, к примеру, у Visual FoxPro, VBScript, Visual Basic’e и PL-SQL, у них разделение операторов происходит путем