Как лучше начать программировать? (Подскажите на собственном опыте)

Модератор: Модераторы разделов

Аватара пользователя
Данил
Сообщения: 944
ОС: windows xp, cruncheee, ddwrt

Как лучше начать программировать?

Сообщение Данил »

Пробовал С++ по PDF книге
ничего не понял , ни один из примеров не компилируется.
На одном из саитов скачал HELLO WORLD >> Работает!!
g++ -O2 -mcpu=pentium4 -mmmx -msse -msse2 -m32 Hello.C
Решил заняться программированием, потому, что в башке засела мысль использовать видеокарту как вспомогательный источник ресурсов
(Память, GPU)
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600

Противник HAL NETWORKMANAGER и других подобных паделок!!!
Спасибо сказали:
Аватара пользователя
kolyan
Сообщения: 39

Re: Как лучше начать программировать?

Сообщение kolyan »

В чем, собственно, вопрос, или проблема?
Спасибо сказали:
Аватара пользователя
Данил
Сообщения: 944
ОС: windows xp, cruncheee, ddwrt

Re: Как лучше начать программировать?

Сообщение Данил »

(kolyan @ Суббота, 17 Сентября 2005, 23:57) писал(а):В чем, собственно, вопрос, или проблема?

Просто хочется побыстрее научиться, максимально эффективно .т.е не напароться на чужие ошибки и идти по стопам знающих людей B)
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600

Противник HAL NETWORKMANAGER и других подобных паделок!!!
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Как лучше начать программировать?

Сообщение polachok »

Решил заняться программированием, потому, что в башке засела мысль использовать видеокарту как вспомогательный источник ресурсов
(Память, GPU)

без вас сделано
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Как лучше начать программировать?

Сообщение elide »

"он шел по стопам великих, поэтому своих следов не оставил..."
слава роботам!
Спасибо сказали:
Аватара пользователя
n0xi0uzz
Сообщения: 6

Re: Как лучше начать программировать?

Сообщение n0xi0uzz »

Единственный спо соб  изучать новый язык
программирования - писать на нем программы.
- Брайэн Керниган

Это прописная истина, для начала лучше, я думаю, начать с простеньких программок, изучить алгоритмы всякие, а потом уже браться за вещи посложнее. Главное, - пиши, пиши и ещё раз пиши.
Спасибо сказали:
n1tr0gen
Сообщения: 149

Re: Как лучше начать программировать?

Сообщение n1tr0gen »

Рекомендую прочитать Advanced UNIX programming with Linux (естесственно надо писать все примеры и разбираться как оно работает). Это тебя научит основам программирования под *nix.
Лично я начинал с изучения текста простой игрушки под DOS - "Змейка" в текстовом режиме. Изменял поведение, добавлял новые фичи, по ходу дела постигал азы Си.
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: Как лучше начать программировать?

Сообщение Asgard »

Имхо, лучше всего начать с простых программок на C аля "hellow world", а после того, как появятся некие обобщённые понятия о синтаксисе языка написать консольную програмку для решения простой, но реальной задачи. После Си уже можно переходить на C++. А для хорошего понимания ООП я бы посоветовал Python.

Для изучения unix программирования, следует обратить внимание на 'Advanced Programming in the UNIX enviroment'.
Если постараться, то в гугле можно найти электронную версию.
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
Аватара пользователя
sergius
Сообщения: 782

Re: Как лучше начать программировать?

Сообщение sergius »

(Данил @ Суббота, 17 Сентября 2005, 21:50) писал(а):Пробовал С++ по PDF книге
ничего не понял ,  ни один из примеров не компилируется.


Ну раз уже начал - покажи вывод компилятора.
И саму программу тоже покажи.

Если что-то не получается - надо узать в чем проблема и идти дальше. Вот и все!
Спасибо сказали:
neuralNetwork
Сообщения: 119
ОС: Debian Squeeze

Re: Как лучше начать программировать?

Сообщение neuralNetwork »

(Asgard @ Воскресенье, 18 Сентября 2005, 12:14) писал(а):А для хорошего понимания ООП я бы посоветовал Python.

Или Java.
Спасибо сказали:
PIF
Сообщения: 391

Re: Как лучше начать программировать?

Сообщение PIF »

Абсолютно согласен с Asgard. И не надо лезть во все сразу - и в Python, и в JAVA.
Если учесть, что JAVA, побольшому счету, - мутировавший С++, который, в свою очередь, - расширение С, то начинать рекомендую с С. Самая лучшая книга по С - "Язык программирования С" Кернигана и Ричи, она же в фольклере KRC .
Но! Для "вкусности" надо уметь работать с основными (dec, bin и hex) системами счисления и знать некоторые основные принципы - как происходит выделение памяти, что такое "стек", как работает компилятор, etc. В KRC об этом не написано. Придется либо покупать еще одну книжку, либо "гуглить".

Если надумаешь учить С - тогда ищи 3-е издание KRC в электронном варианте (в бумажном фиг найдешь), по "общим" вопросам - Google и codenet.ru, и еще рекомендую "Полный справочник по С" Герберта Шилдта. Есть еще неплохая книжка "Освой самостоятельно С за 21 день" - это если ты вообще нифига не понимаешь, но все-таки она слабовата.

Если все-таки С++, то покупай "Язык программирования С++" Стивена Прата - она может поначалу отпугнуть своей монументальностью (~1000 страниц формата Letter!), но, во-первых, читать там можно далеко не все, а только под конкретные задачи, а во-вторых, читается она очень легко. И, естественно, хороший справочник. Кстати основыные принципы у Прата поданы очень понятно.

Эрго: рекомендую начинать все-таки с С по системе KRC+Google+справочник. Освоишь месяца за три: С - язык маленький. Потом, если понесет в системное программирование, то всякие "Advanced Programming in the UNIX enviroment" тебе в помощь (они кстати есть и по-русски). Если в ООП, то после С на С++ перейдешь безболезненно в процессе работы. На Python, Perl, etc. - тоже.

В программировании главное понять основы, потомучто языки еще десять раз изменяться и мутируют, а основы (математика в их числе) ни куда не денутся.
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: Как лучше начать программировать?

Сообщение Asgard »

системами счисления и знать некоторые основные принципы - как происходит выделение памяти, что такое "стек", как работает компилятор

вообще после освоения синтаксиса Си, для ознакомления с основными алгоритмами и структурами данных, лучше всего почитать Седжвика 'Фундаментальные алгоритмы на С'

то всякие "Advanced Programming in the UNIX enviroment" тебе в помощь (они кстати есть и по-русски).

Насколько я знаю, 'Advanced Programming in the UNIX enviroment' ещё не перевели, зато не менее замечательная книга 'Advanced UNIX Programming 2nd' уже есть на русском.
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
PIF
Сообщения: 391

Re: Как лучше начать программировать?

Сообщение PIF »

Мое сугубо личное мнение совпадает с мнением Великого Кормчего: "Читая Конфуция императором не станешь". :devil_2: После изучения языка лучше сразу лезть в конкретику, в задачи, а решения к ним искать читая "Фундаментальные алгоритмы", "Advanced Programming", etc.

P.S. Первые задачи, естественно, брать по силам - не сразу ОС писать.:)
Спасибо сказали:
Аватара пользователя
Данил
Сообщения: 944
ОС: windows xp, cruncheee, ddwrt

Re: Как лучше начать программировать?

Сообщение Данил »

Вот этот код: ( нашел здесь, на форуме)
###########################################
#include <stdio.h>

int main( void )
{
printf("Hello, world!");
return 0;
}

###########################################
Я собрал так:
g++ -O2 -mcpu=pentium4 -mmmx -msse -msse2 -m32 1.C

И она работает!!!
Значит это моя первая программа!
Почти B)
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600

Противник HAL NETWORKMANAGER и других подобных паделок!!!
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Как лучше начать программировать?

Сообщение Bolverk »

Эээ, народ, вы о чем вообще говорите - об умении кодить или об умении составлять алгоритмы? Это разные вещи! И учить синтаксис любого языка, не умея составлять алгоритмы - смысла нет, в лучшем случае получится дрессированная макака.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Как лучше начать программировать?

Сообщение elide »

типа хинт: опции указывать надо только тогда, когда от них будет толк.
первые программы вполне можно собирать просто g++ helo_world.cpp (вообще без всяких опций) - так гораздо проше (:
слава роботам!
Спасибо сказали:
PIF
Сообщения: 391

Re: Как лучше начать программировать?

Сообщение PIF »

2Данил
Твоя программа написана на чистом С. Можно было сохранить с расширением .с и компилировать командой

Код: Выделить всё

gcc hello_world.c -o hello_world

На выходе получил бы исполняемый файл hello_world.

2Bolverk
А мы обо всем. У целом :) Просто я считаю, что алгоритмы составлять - либо умеешь, либо нет, надо тогда за математику садиться. Или "ТРИЗ" Альтшуллера почитать.
А именно в кодинге мыслю так: разобравшись с одним языком, легче учить другие - как с иностранными.
Спасибо сказали:
RuSNoteS
Сообщения: 24

Re: Как лучше начать программировать?

Сообщение RuSNoteS »

PIF писал(а):
18.09.2005 20:26
Абсолютно согласен с Asgard. И не надо лезть во все сразу - и в Python, и в JAVA.
Если учесть, что JAVA, побольшому счету, - мутировавший С++, который, в свою очередь, - расширение С, то начинать рекомендую с С. Самая лучшая книга по С - "Язык программирования С" Кернигана и Ричи, она же в фольклере KRC .


И главное, что интересно - между Java и C - общего меньше, чем между Python и Java. Так, что может быть не стоит смотреть на "происхождение синтаксиса" ((С) Дарвин)?
И если открыть, какую-нибудь книгу по Си++ (того же Страустрапа) или по Java, то можно узнать, что эти языки гораздо больше взяли из Modula или Smalltalk, чем от Си.

Развивая эту тему - можно обнаружить, что Visual Basic .NET, C# и Java практичеcки близнецы, по сравнению с С++.

А между QBasic (или даже Visual Basic) и Visual Basic .NET меньше общего, чем между Visual Basic .NET и Java или C#.
Спасибо сказали:
PIF
Сообщения: 391

Re: Как лучше начать программировать?

Сообщение PIF »

RusNoteS
Молодой ччеловек! Я с вами говорю не за веру, а за деньги! (с) Рабинович :)
Я вообще-то чуть-чуть не о том. Кто в кого мутировал и с кем спала JAVA, чтобы родился С# - это пусть генетики разбираются :) . Наше дело маленькое - все это освоить. И даже не все, а только то, что нужно. Поэтому я и рекомедую С - без всяких плюсов и "шарпов" - родной для UNIX, компактный, абсолютно дурных возможностей язык.
Спасибо сказали:
Аватара пользователя
ilich
Сообщения: 156

Re: Как лучше начать программировать?

Сообщение ilich »

лучше всего можно научиться програмировать, если работаешь в этой области. Я за готд работы узнал больше, чем за всю свою сознательную жизнь, причем именно по С++.
!!! БЕРИ ОТ ЖИЗНИ ВСЕ !!!
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Как лучше начать программировать?

Сообщение Grom »

Проще всего научиться программировать, если есть какакя-нибудь задача. В свое время пропахал "Этюды для программистов", тогда были доступны только фортран и РТ-11 на базе Электроники-60. После того, как поняты основные принципы, уже не возникает проблем, на чем писать (правильнее сказать, РЕШАТЬ возникающие задачи) - оккам, перл, С, Дельфи и пр.

Перл, например, я освоил за 1 месяц (конечно не в полном объеме), когда возникла потребность наваять сайт с CGI.

Найди себе задачку, алгоритмизируй и закодируй. Вот и нацчишься программизму. Например: Игра "Жизнь", рисование лабиринта, поиск кратчейшего пути, текстовый редактор и т.д., и т.п. Главное, чтобы задача была интересна, тогда и изучение программирования пойдеть раза в 2-3 быстрее.
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
free
Сообщения: 23

Re: Как лучше начать программировать?

Сообщение free »

А мое мнение такое: хочешь уметь програмить , ставь перед собой сложную задачу и вперед! да может уйти мног времени , ни месяц, ни два! Но пока будешь к ней подходить ,много чему научишься и много чего поймешь... Не даром говорят на своих ошибках учишься... :rolleyes:
Спасибо сказали:
RuSNoteS
Сообщения: 24

Re: Как лучше начать программировать?

Сообщение RuSNoteS »

free писал(а):
20.09.2005 19:25
Не даром говорят на своих ошибках учишься... :rolleyes:


Эх, а хорошо бы еще и учиться и на чужих. (с) Стив Макконнелл.

(PIF) писал(а):Молодой ччеловек! Я с вами говорю не за веру, а за деньги!

Гы, представляю, где-нибудь в общественном месте подходит ко мне 18-летний подросток и говорит "Молодой человек!"
Пусть не вводит вас в заблуждение моя вспыльчивость - просто я устал уже от этих распальцованных подростоков - будь то линуксоид, будь-то кулхацкер.
Недавно только беседовал с одним супер-пупер программистом ... 19 лет от роду. Как и ожидалось, кроме широко расставленных пальцев ничего нет. Пусто.
Спасибо сказали:
PIF
Сообщения: 391

Re: Как лучше начать программировать?

Сообщение PIF »

RuSNoteS писал(а):
21.09.2005 15:25
Гы, представляю, где-нибудь в общественном месте подходит ко мне 18-летний подросток и говорит "Молодой человек!"

Дык это ж из анекдота! Я даже копирайт поставил!

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

Совсем не вводит. И не выводит - сам от них устал. :) //От себя устаю больше всего :)

Недавно только беседовал с одним супер-пупер программистом ... 19 лет от роду. Как и ожидалось, кроме широко расставленных пальцев ничего нет. Пусто.

Ну как же в 18-19 лет пальцы-то не погнуть! (по себе знаю) А желание казаться "крутым" очень даже провоцирует стать "крутым".
Спасибо сказали:
Thug
Сообщения: 200

Re: Как лучше начать программировать?

Сообщение Thug »

Господа, подскажите, плиз, где посмотреть уже поставленные задачи для программирования на С/С++?
Типа такого: задана матрица 9*9, заполнить любыми числами, отсортировать по возрастанию. И, желательно, на всякий случай, ответы.
А то сам себе задачу придумать я не могу - креатива не хватает, ибо знаю маловато по программированию :)
Страйкбол - игра админов :)
Спасибо сказали:
RuSNoteS
Сообщения: 24

Re: Как лучше начать программировать?

Сообщение RuSNoteS »

(PIF) писал(а):Ну как же в 18-19 лет пальцы-то не погнуть! (по себе знаю)


Оно и видно.

(PIF) писал(а):А желание казаться "крутым" очень даже провоцирует стать "крутым".

"Желание провоцирует стать" - ну и язык у вас батенька.
Провоцировать-то может и провоцирует, но вот не помогает ни на йоту.

Помнится в мою студенческую бытность один мой одноклассник сильно распальцовывался передо мной - какой он крутой программист, что его даже в одну фирму пригласили после окончания ВУЗа.
Н-да, замечание о том, что я уже работаю и получаю в 4 раза больше, чем ему там предлагали спеси почему-то не сбавило.
Спасибо сказали:
Аватара пользователя
sergius
Сообщения: 782

Re: Как лучше начать программировать?

Сообщение sergius »

Thug писал(а):
21.09.2005 15:39
Господа, подскажите, плиз, где посмотреть уже поставленные задачи для программирования на С/С++?
Типа такого: задана матрица 9*9, заполнить любыми числами, отсортировать по возрастанию. И, желательно, на всякий случай, ответы.
А то сам себе задачу придумать я не могу - креатива не хватает, ибо знаю маловато по программированию :)


www.google.ru на тему олимпийские задачи по программированию
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: Как лучше начать программировать?

Сообщение Asgard »

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

Когда я изучал C, мне было интересно реализовывать различные контейнерные типы данных и всевозможные действия над ними. Это даёт очень хорошее представление об указателях.
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
Аватара пользователя
Данил
Сообщения: 944
ОС: windows xp, cruncheee, ddwrt

Re: Как лучше начать программировать?

Сообщение Данил »

Алгоритмы я составлять могу, приходится часто писать скрипты на bash.
А задач передо мной много, от Virtual(Clone) CD, до использования видеокарты в качестве дополнительного процессора!
В ближайшие дни продам старый модем (благо покупателя нашел), куплю книгу по С (чистый), и начну изучение.
Недавно купил dvdrom (специально для LinuxFormat ) , додумался как засовывать лоток через ярлык [echo 1 > /dev/hdd].
Поэкспериментировал с Редактор Kommander, интересно, нашмалял простенький интерфейс к mount, loopback , eject , dd,
что-то вроде VirtyalCD FD.
НО язык С должен позволить обнаружать устройства, образы автоматически, ведь так?
А книга на жестком у меня - Липпман С++ для начинающих, ничего не понял ,т.к сразу вводятся и используются термины.
Книга для тех , кто уже разбирается в программировании, т.е не для меня.
А то что не компилировалось - это были фрагменты кода :)
ASUS eee pc 701 [windowsXP sp3] [Ubuntu linux]
wi-fi router d-link dir-400 [ddWRT v24 SP1 linux]
[sony psp 2008 slim wi-fi netBSD]
nas d-link dsm-600

Противник HAL NETWORKMANAGER и других подобных паделок!!!
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Как лучше начать программировать?

Сообщение t.t »

Недавно купил dvdrom (специально для LinuxFormat ) , додумался как засовывать лоток через ярлык [echo 1 > /dev/hdd].
М-да.. Интересное решение.. А eject -t /dev/hdd не пробовали?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: