Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Выбор языка программирования для новичка  (Прочитано 43265 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн knigochey

  • Любитель
  • *
  • Сообщений: 51
  • Учиться, учиться, учиться
    • Просмотр профиля
Увы, за годы обучения программист из меня, пока не вышел ??? , переквалифицировался в Админы.
 Но кое-чему меня все же научили ;)
 
Даю краткий курс новичка-программиста:

I) Научиться  печать слепым десяти пальцевым методом (программа -СОЛО на клавиатуре или книга Десятипальцевый метод печати на компьютере. Андрианов В.И


http://ЗАПРЕЩЁННЫЙ РЕСУРС/image/view/ab055c918c192e8564a3315f04f5fc68
Иначе станет дико скучно.

II) Книги для новичка ? ???
Слишком обширный вопрос. Перечислю то что стоит у меня на полке, и что-то из списка лежит в сети.
То что подойдет любому новичку:

1) Г.С. Иванова "Основы программирования" -язык Паскаль + DELPHI
2)Вонг  "Основы программирования для чайником" - неплохо для начинающих описан язык C++ и МНОГО Бейсика(((
3) Д.Румяннцев, Л.Монастырский  «Путь программиста» - Паскаль, С, Java, HTML  + ВСЕ ПОПУЛЯРНО ОПИСАНО с самих азов программирования.
4) Керниган "Язык программирования С"


III) Язык выбирайте тот, который не генерирует  код : Паскаль, С, С++, PHP(интерпретируемый язык, т.е. можно сразу посмотреть результат), Perl
Есть еще хм. язык программирования , на котором можно СРАЗУ остановиться :) - BASH
« Последнее редактирование: 12 Мая 2008, 00:36:49 от knigochey »

Оффлайн kemiisto

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
по мне так вообще вопрос ни о чем... язык программирования - инструмент, выбираемый под конкретную задачу :)
Ну так внимательнее прочтите первый пост. Топикстартер явно описал задачу.

принципы и идеи во всех языках практически одинаковые, отличается только синтаксис и нюансы.
В рамках одной парадигмы - да! А как же быть с языками-представителями разных парадигм? Сраните к примеру процедурные языки (С, Pascal), функциональные (Haskell, ML), объектно-ориентированные (Smalltalk, Ruby, C#) и логические (Prolog).

P.S. Помните избитое: "The limits of my language mean the limits of my world" (с) Ludwig Wittgenstein.

Оффлайн mr.huNTer

  • Участник
  • *
  • Сообщений: 141
  • linux rocks
    • Просмотр профиля
В рамках одной парадигмы - да! А как же быть с языками-представителями разных парадигм? Сраните к примеру процедурные языки (С, Pascal), функциональные (Haskell, ML), объектно-ориентированные (Smalltalk, Ruby, C#) и логические (Prolog).
Конечно каждая парадигма несет за собой свои нюансы, но они не изменяют, а скорее дополняют основные принципы программирования. Я кстати волею случая писал одну задачу на Smalltalk... Вот где настощее ООП! А какая там среда разработки! C++ и компания нервно курят в уголочке :) Жаль, что такие языки не имеют широкого распространения :) Ruby похож на него, но все же не то :)

Оффлайн Saha

  • Активист
  • *
  • Сообщений: 517
    • Просмотр профиля
Даю краткий курс новичка-программиста:

I) Научиться  печать слепым десяти пальцевым методом

ИМХО, бред=)
Зачем нужен слепой метод печати на английском?
Чтобы кодить аки маниак со скоростью 50 команд в минуту?
Хотя, если вбивать уже написанную на листике программу, то конечно надо... Только это уже не программист, а секретарь=)
Или если писать комменты к каждой строчке в виде повести  :D

Цитировать
III) Язык выбирайте тот, который не генерирует  код : Паскаль, С, С++, PHP(интерпретируемый язык, т.е. можно сразу посмотреть результат), Perl

А что такое код???
Тоже бред: есть компиляторы, есть интерпретаторы...
у Паскаля и С обычно компиляторы, они сначала генерят код, а потом исполняют,
PHP - интерпретатор, генерит код в процессе выполнения...

P.S. Извините за оффтопик, смешно стало=)

Thread

  • Гость
А я вот печатаю отсилы четырьмя пальцами, однако пиковая скорость ввода - 10 символов в секунду. Так что десять пальцев - это уже перебор. ;]

Оффлайн kemiisto

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Я кстати волею случая писал одну задачу на Smalltalk... Вот где настощее ООП! А какая там среда разработки! C++ и компания нервно курят в уголочке :) Жаль, что такие языки не имеют широкого распространения :)
+1  ;)
Сам потихоньку осваиваю Smalltalk...
В догонку: Крис Касперски - Языки, которые мы потеряли http://www.bestreferat.ru/archives/69/bestref-93569.zip.

Оффлайн ceeqwer

  • Участник
  • *
  • Сообщений: 208
  • Cyber Demon
    • Просмотр профиля
А я вот печатаю отсилы четырьмя пальцами, однако пиковая скорость ввода - 10 символов в секунду. Так что десять пальцев - это уже перебор. ;]

Печатаю вслепую десятью пальцами :) Практически без ошибок :) Рад до безумия =))

Ссори за оффтоп, просто считаю что освоить слепой метод набора нужно каждому

Оффлайн S.Tokarev

  • Активист
  • *
  • Сообщений: 415
    • Просмотр профиля
основные принципы программирования.
А что это такое если не секрет ?

Оффлайн knigochey

  • Любитель
  • *
  • Сообщений: 51
  • Учиться, учиться, учиться
    • Просмотр профиля
Цитата: Saha
ИМХО, бред=)
Зачем нужен слепой метод печати на английском?
Чтобы кодить аки маниак со скоростью 50 команд в минуту?
Хотя, если вбивать уже написанную на листике программу, то конечно надо...

Затем, что бы ЭКОНОМИТЬ СВОЕ ВРЕМЯ .

Цитировать
А что такое код???
Тоже бред: есть компиляторы, есть интерпретаторы...
у Паскаля и С обычно компиляторы, они сначала генерят код, а потом исполняют,
PHP - интерпретатор, генерит код в процессе выполнения...

Сразу видно что человек привык работать с "языками высокого уровня". ;)
КОД- это что ты пишешь и ЗНАЕШЬ где что быстро подкрутить и изменить.

Дополнительный (ГЕНЕРИРУЕМЫЙ КОД) - это то что создаёт компилятор - лишние и непонятные строчки для новичка.

И так, к слову, PHP - интерпретатор не генерирует дополнительный код, а выполняет программы построчно

Имхо, для новичка лучше научиться "ездить на машине с ручной коробкой передач " чем сразу садиться "за автомат"

Thread

  • Гость
Цитата: Saha
ИМХО, бред=)
Зачем нужен слепой метод печати на английском?
Чтобы кодить аки маниак со скоростью 50 команд в минуту?
Хотя, если вбивать уже написанную на листике программу, то конечно надо...

Затем, что бы ЭКОНОМИТЬ СВОЕ ВРЕМЯ .

Цитировать
А что такое код???
Тоже бред: есть компиляторы, есть интерпретаторы...
у Паскаля и С обычно компиляторы, они сначала генерят код, а потом исполняют,
PHP - интерпретатор, генерит код в процессе выполнения...

Сразу видно что человек привык работать с "языками высокого уровня". ;)
КОД- это что ты пишешь и ЗНАЕШЬ где что быстро подкрутить и изменить.

Дополнительный (ГЕНЕРИРУЕМЫЙ КОД) - это то что создаёт компилятор - лишние и непонятные строчки для новичка.

И так, к слову, PHP - интерпретатор не генерирует дополнительный код, а выполняет программы построчно

Имхо, для новичка лучше научиться "ездить на машине с ручной коробкой передач " чем сразу садиться "за автомат"

Несколько существенных поправок:

1. Большинство людей, пишущих на C/C++/Pascal, в жизни не видели скомпилированный код, который потом ассемблируется и передаётся редактору связей. Это не мешает писать на выбранном языке.
2. Интерпретатор PHP вначале парсит содержимое скрипта, генерируя внутреннее представление программы, а потом уже по нему выполняет программу.
3. Автор, наверное, пытается показать, что интерпретируемые языки способствуют обучению программированию - это неправда. Тип транслятора здесь вообще не имеет значения, а имеет значение сам язык. Кстати, большинство интерпретируемых языков сделаны так, что способствуют выполнению обыденных задач, но никак не обучению. (Покажите мне программиста на PHP, который за две недели изучил C++ ;D А вот обратных примеров очень много.). Моё ИМХО по поводу того, какие языки следует изучать, см. выше.

Оффлайн knigochey

  • Любитель
  • *
  • Сообщений: 51
  • Учиться, учиться, учиться
    • Просмотр профиля

3. Автор, наверное, пытается показать, что интерпретируемые языки способствуют обучению программированию - это неправда. Тип транслятора здесь вообще не имеет значения, а имеет значение сам язык. Кстати, большинство интерпретируемых языков сделаны так, что способствуют выполнению обыденных задач, но никак не обучению.  Моё ИМХО по поводу того, какие языки следует изучать, см. выше.

Почему нет? Что набрал, то и получил + возможность отладки и исправления ошибок "налету".
Насчёт связки (Паскаль->C,C++ ->etc.)почти согласен.
Язык и синтаксис не имеют значения (чаще так и бывает).
Имеет значение только желание, любознательность и время.
Не удержался

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

З.Ы. a-v Сколько людей-столько и ИМХО :)

Оффлайн kemiisto

  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Язык и синтаксис не имеют значения (чаще так и бывает).
Если Вы о первом изучаемом языке программирования, то его синтаксис имеет значение. Да ещё какое!

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

Или вот ещё пример из личного опыта. Прекрасно известно, что те, кто первым языком изучают Basic, приобретают дурной стиль программирования, и переучить их потом крайне сложно. Как же мне было сложно перейти на Pascal и как же это было давно! ;)

Оффлайн knigochey

  • Любитель
  • *
  • Сообщений: 51
  • Учиться, учиться, учиться
    • Просмотр профиля
Если Вы о первом изучаемом языке программирования, то его синтаксис имеет значение. Да ещё какое!
Все равно не ИМЕЕТ значения.
Новичок пока не знает синтаксиса и особенностей языка. :)


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

С этого и нужно начать ;)
С выбора операционки.
С выбора компилятора или возможности запустить его под эмулятором.
Для *Nix - это dosemu & WINE.

Не знаю поймут ли меня на форуме... :-\
Можно бесконечно обсуждать и советовать - "что выбрать",
но для новичка главное - это самому выбрать и не бояться искать "свой первый язык".

Лучший язык - это тот который не мешает тебе  воплощать свои желания в жизнь и при этом приносит удовольствие.
Каждый "новый язык" - изучается как "в первый раз".

Оффлайн Saha

  • Активист
  • *
  • Сообщений: 517
    • Просмотр профиля
Позвольте и мне озвучить свое скромное IMHO  8)

Начинать изучать программирование с обучения слепому методу печати, как предлагает knigochey, уж точно не нужно, это можно сделать и потом, "в процессе".
А язык лучше выбрать так скажем самый "низкоуровневый" из языков высокого уровня, то есть Паскаль или С, где необходимо явно прописывать типы переменных и т.п., для того, чтобы новичок сразу понимал, откуда у кого что растет  :D
А еще кто-то где-то начал тему про выбор операционки...
 :o
Вот это уж воистину индифферентно!

Оффлайн S.Tokarev

  • Активист
  • *
  • Сообщений: 415
    • Просмотр профиля
Предположим, некто решит начать прямо с С++. Результаты будут удручающие - большая часть времени уйдёт на борьбу с компилятором, глупыми опечатками, устаревшими и неудачными аспектами языка.
:2funny: :2funny: :2funny: :2funny: :idiot2:

 

Страница сгенерирована за 0.031 секунд. Запросов: 24.