Как лучше начать программировать? (Подскажите на собственном опыте)
Модератор: Модераторы разделов
-
Данил
- Сообщения: 944
- ОС: windows xp, cruncheee, ddwrt
Как лучше начать программировать?
Пробовал С++ по PDF книге
ничего не понял , ни один из примеров не компилируется.
На одном из саитов скачал HELLO WORLD >> Работает!!
g++ -O2 -mcpu=pentium4 -mmmx -msse -msse2 -m32 Hello.C
Решил заняться программированием, потому, что в башке засела мысль использовать видеокарту как вспомогательный источник ресурсов
(Память, GPU)
ничего не понял , ни один из примеров не компилируется.
На одном из саитов скачал 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 и других подобных паделок!!!
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: Как лучше начать программировать?
В чем, собственно, вопрос, или проблема?
-
Данил
- Сообщения: 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 и других подобных паделок!!!
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: Как лучше начать программировать?
Решил заняться программированием, потому, что в башке засела мысль использовать видеокарту как вспомогательный источник ресурсов
(Память, GPU)
без вас сделано
И немедленно выпил.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Как лучше начать программировать?
"он шел по стопам великих, поэтому своих следов не оставил..."
слава роботам!
-
n0xi0uzz
- Сообщения: 6
Re: Как лучше начать программировать?
Единственный спо соб изучать новый язык
программирования - писать на нем программы.
- Брайэн Керниган
Это прописная истина, для начала лучше, я думаю, начать с простеньких программок, изучить алгоритмы всякие, а потом уже браться за вещи посложнее. Главное, - пиши, пиши и ещё раз пиши.
-
n1tr0gen
- Сообщения: 149
Re: Как лучше начать программировать?
Рекомендую прочитать Advanced UNIX programming with Linux (естесственно надо писать все примеры и разбираться как оно работает). Это тебя научит основам программирования под *nix.
Лично я начинал с изучения текста простой игрушки под DOS - "Змейка" в текстовом режиме. Изменял поведение, добавлял новые фичи, по ходу дела постигал азы Си.
Лично я начинал с изучения текста простой игрушки под DOS - "Змейка" в текстовом режиме. Изменял поведение, добавлял новые фичи, по ходу дела постигал азы Си.
-
Asgard
- Сообщения: 215
- Статус: North Valfader
Re: Как лучше начать программировать?
Имхо, лучше всего начать с простых программок на C аля "hellow world", а после того, как появятся некие обобщённые понятия о синтаксисе языка написать консольную програмку для решения простой, но реальной задачи. После Си уже можно переходить на C++. А для хорошего понимания ООП я бы посоветовал Python.
Для изучения unix программирования, следует обратить внимание на 'Advanced Programming in the UNIX enviroment'.
Если постараться, то в гугле можно найти электронную версию.
Для изучения unix программирования, следует обратить внимание на 'Advanced Programming in the UNIX enviroment'.
Если постараться, то в гугле можно найти электронную версию.
-
sergius
- Сообщения: 782
Re: Как лучше начать программировать?
(Данил @ Суббота, 17 Сентября 2005, 21:50) писал(а):Пробовал С++ по PDF книге
ничего не понял , ни один из примеров не компилируется.
Ну раз уже начал - покажи вывод компилятора.
И саму программу тоже покажи.
Если что-то не получается - надо узать в чем проблема и идти дальше. Вот и все!
-
neuralNetwork
- Сообщения: 119
- ОС: Debian Squeeze
Re: Как лучше начать программировать?
(Asgard @ Воскресенье, 18 Сентября 2005, 12:14) писал(а):А для хорошего понимания ООП я бы посоветовал Python.
Или Java.
-
PIF
- Сообщения: 391
Re: Как лучше начать программировать?
Абсолютно согласен с 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. - тоже.
В программировании главное понять основы, потомучто языки еще десять раз изменяться и мутируют, а основы (математика в их числе) ни куда не денутся.
Если учесть, что 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: Как лучше начать программировать?
системами счисления и знать некоторые основные принципы - как происходит выделение памяти, что такое "стек", как работает компилятор
вообще после освоения синтаксиса Си, для ознакомления с основными алгоритмами и структурами данных, лучше всего почитать Седжвика 'Фундаментальные алгоритмы на С'
то всякие "Advanced Programming in the UNIX enviroment" тебе в помощь (они кстати есть и по-русски).
Насколько я знаю, 'Advanced Programming in the UNIX enviroment' ещё не перевели, зато не менее замечательная книга 'Advanced UNIX Programming 2nd' уже есть на русском.
-
PIF
- Сообщения: 391
Re: Как лучше начать программировать?
Мое сугубо личное мнение совпадает с мнением Великого Кормчего: "Читая Конфуция императором не станешь". :devil_2: После изучения языка лучше сразу лезть в конкретику, в задачи, а решения к ним искать читая "Фундаментальные алгоритмы", "Advanced Programming", etc.
P.S. Первые задачи, естественно, брать по силам - не сразу ОС писать.
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)
###########################################
#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 и других подобных паделок!!!
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: Как лучше начать программировать?
Эээ, народ, вы о чем вообще говорите - об умении кодить или об умении составлять алгоритмы? Это разные вещи! И учить синтаксис любого языка, не умея составлять алгоритмы - смысла нет, в лучшем случае получится дрессированная макака.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Как лучше начать программировать?
типа хинт: опции указывать надо только тогда, когда от них будет толк.
первые программы вполне можно собирать просто g++ helo_world.cpp (вообще без всяких опций) - так гораздо проше (:
первые программы вполне можно собирать просто g++ helo_world.cpp (вообще без всяких опций) - так гораздо проше (:
слава роботам!
-
PIF
- Сообщения: 391
Re: Как лучше начать программировать?
2Данил
Твоя программа написана на чистом С. Можно было сохранить с расширением .с и компилировать командой
На выходе получил бы исполняемый файл hello_world.
2Bolverk
А мы обо всем. У целом
Просто я считаю, что алгоритмы составлять - либо умеешь, либо нет, надо тогда за математику садиться. Или "ТРИЗ" Альтшуллера почитать.
А именно в кодинге мыслю так: разобравшись с одним языком, легче учить другие - как с иностранными.
Твоя программа написана на чистом С. Можно было сохранить с расширением .с и компилировать командой
Код: Выделить всё
gcc hello_world.c -o hello_worldНа выходе получил бы исполняемый файл hello_world.
2Bolverk
А мы обо всем. У целом
А именно в кодинге мыслю так: разобравшись с одним языком, легче учить другие - как с иностранными.
-
RuSNoteS
- Сообщения: 24
Re: Как лучше начать программировать?
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: Как лучше начать программировать?
RusNoteS
Молодой ччеловек! Я с вами говорю не за веру, а за деньги! (с) Рабинович
Я вообще-то чуть-чуть не о том. Кто в кого мутировал и с кем спала JAVA, чтобы родился С# - это пусть генетики разбираются
. Наше дело маленькое - все это освоить. И даже не все, а только то, что нужно. Поэтому я и рекомедую С - без всяких плюсов и "шарпов" - родной для UNIX, компактный, абсолютно дурных возможностей язык.
Молодой ччеловек! Я с вами говорю не за веру, а за деньги! (с) Рабинович
Я вообще-то чуть-чуть не о том. Кто в кого мутировал и с кем спала JAVA, чтобы родился С# - это пусть генетики разбираются
-
ilich
- Сообщения: 156
Re: Как лучше начать программировать?
лучше всего можно научиться програмировать, если работаешь в этой области. Я за готд работы узнал больше, чем за всю свою сознательную жизнь, причем именно по С++.
!!! БЕРИ ОТ ЖИЗНИ ВСЕ !!!
-
Grom
- Сообщения: 260
- ОС: Debian Etch, RHEL-5.4
Re: Как лучше начать программировать?
Проще всего научиться программировать, если есть какакя-нибудь задача. В свое время пропахал "Этюды для программистов", тогда были доступны только фортран и РТ-11 на базе Электроники-60. После того, как поняты основные принципы, уже не возникает проблем, на чем писать (правильнее сказать, РЕШАТЬ возникающие задачи) - оккам, перл, С, Дельфи и пр.
Перл, например, я освоил за 1 месяц (конечно не в полном объеме), когда возникла потребность наваять сайт с CGI.
Найди себе задачку, алгоритмизируй и закодируй. Вот и нацчишься программизму. Например: Игра "Жизнь", рисование лабиринта, поиск кратчейшего пути, текстовый редактор и т.д., и т.п. Главное, чтобы задача была интересна, тогда и изучение программирования пойдеть раза в 2-3 быстрее.
Перл, например, я освоил за 1 месяц (конечно не в полном объеме), когда возникла потребность наваять сайт с CGI.
Найди себе задачку, алгоритмизируй и закодируй. Вот и нацчишься программизму. Например: Игра "Жизнь", рисование лабиринта, поиск кратчейшего пути, текстовый редактор и т.д., и т.п. Главное, чтобы задача была интересна, тогда и изучение программирования пойдеть раза в 2-3 быстрее.
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Осваиваю: RHEL-5.4
-
free
- Сообщения: 23
Re: Как лучше начать программировать?
А мое мнение такое: хочешь уметь програмить , ставь перед собой сложную задачу и вперед! да может уйти мног времени , ни месяц, ни два! Но пока будешь к ней подходить ,много чему научишься и много чего поймешь... Не даром говорят на своих ошибках учишься... 
-
RuSNoteS
- Сообщения: 24
Re: Как лучше начать программировать?
Эх, а хорошо бы еще и учиться и на чужих. (с) Стив Макконнелл.
(PIF) писал(а):Молодой ччеловек! Я с вами говорю не за веру, а за деньги!
Гы, представляю, где-нибудь в общественном месте подходит ко мне 18-летний подросток и говорит "Молодой человек!"
Пусть не вводит вас в заблуждение моя вспыльчивость - просто я устал уже от этих распальцованных подростоков - будь то линуксоид, будь-то кулхацкер.
Недавно только беседовал с одним супер-пупер программистом ... 19 лет от роду. Как и ожидалось, кроме широко расставленных пальцев ничего нет. Пусто.
-
PIF
- Сообщения: 391
Re: Как лучше начать программировать?
Дык это ж из анекдота! Я даже копирайт поставил!
Пусть не вводит вас в заблуждение моя вспыльчивость - просто я устал уже от этих распальцованных подростоков - будь то линуксоид, будь-то кулхацкер.
Совсем не вводит. И не выводит - сам от них устал.
Недавно только беседовал с одним супер-пупер программистом ... 19 лет от роду. Как и ожидалось, кроме широко расставленных пальцев ничего нет. Пусто.
Ну как же в 18-19 лет пальцы-то не погнуть! (по себе знаю) А желание казаться "крутым" очень даже провоцирует стать "крутым".
-
Thug
- Сообщения: 200
Re: Как лучше начать программировать?
Господа, подскажите, плиз, где посмотреть уже поставленные задачи для программирования на С/С++?
Типа такого: задана матрица 9*9, заполнить любыми числами, отсортировать по возрастанию. И, желательно, на всякий случай, ответы.
А то сам себе задачу придумать я не могу - креатива не хватает, ибо знаю маловато по программированию
Типа такого: задана матрица 9*9, заполнить любыми числами, отсортировать по возрастанию. И, желательно, на всякий случай, ответы.
А то сам себе задачу придумать я не могу - креатива не хватает, ибо знаю маловато по программированию
Страйкбол - игра админов :)
-
RuSNoteS
- Сообщения: 24
Re: Как лучше начать программировать?
(PIF) писал(а):Ну как же в 18-19 лет пальцы-то не погнуть! (по себе знаю)
Оно и видно.
(PIF) писал(а):А желание казаться "крутым" очень даже провоцирует стать "крутым".
"Желание провоцирует стать" - ну и язык у вас батенька.
Провоцировать-то может и провоцирует, но вот не помогает ни на йоту.
Помнится в мою студенческую бытность один мой одноклассник сильно распальцовывался передо мной - какой он крутой программист, что его даже в одну фирму пригласили после окончания ВУЗа.
Н-да, замечание о том, что я уже работаю и получаю в 4 раза больше, чем ему там предлагали спеси почему-то не сбавило.
-
sergius
- Сообщения: 782
Re: Как лучше начать программировать?
Thug писал(а): ↑21.09.2005 15:39Господа, подскажите, плиз, где посмотреть уже поставленные задачи для программирования на С/С++?
Типа такого: задана матрица 9*9, заполнить любыми числами, отсортировать по возрастанию. И, желательно, на всякий случай, ответы.
А то сам себе задачу придумать я не могу - креатива не хватает, ибо знаю маловато по программированию
www.google.ru на тему олимпийские задачи по программированию
-
Asgard
- Сообщения: 215
- Статус: North Valfader
Re: Как лучше начать программировать?
Thug
Нужно ставить перед собой интересную задачу, иначе не будет никакого стимула, а это чревато посыланием всего на *** и прогулкой к друзьям, дабы выпить пива. Если вам интересны действия над матрицами, то почему бы и не реализовать их в полной мере?
Когда я изучал C, мне было интересно реализовывать различные контейнерные типы данных и всевозможные действия над ними. Это даёт очень хорошее представление об указателях.
Нужно ставить перед собой интересную задачу, иначе не будет никакого стимула, а это чревато посыланием всего на *** и прогулкой к друзьям, дабы выпить пива. Если вам интересны действия над матрицами, то почему бы и не реализовать их в полной мере?
Когда я изучал C, мне было интересно реализовывать различные контейнерные типы данных и всевозможные действия над ними. Это даёт очень хорошее представление об указателях.
-
Данил
- Сообщения: 944
- ОС: windows xp, cruncheee, ddwrt
Re: Как лучше начать программировать?
Алгоритмы я составлять могу, приходится часто писать скрипты на bash.
А задач передо мной много, от Virtual(Clone) CD, до использования видеокарты в качестве дополнительного процессора!
В ближайшие дни продам старый модем (благо покупателя нашел), куплю книгу по С (чистый), и начну изучение.
Недавно купил dvdrom (специально для LinuxFormat ) , додумался как засовывать лоток через ярлык [echo 1 > /dev/hdd].
Поэкспериментировал с Редактор Kommander, интересно, нашмалял простенький интерфейс к mount, loopback , eject , dd,
что-то вроде VirtyalCD FD.
НО язык С должен позволить обнаружать устройства, образы автоматически, ведь так?
А книга на жестком у меня - Липпман С++ для начинающих, ничего не понял ,т.к сразу вводятся и используются термины.
Книга для тех , кто уже разбирается в программировании, т.е не для меня.
А то что не компилировалось - это были фрагменты кода
А задач передо мной много, от 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 и других подобных паделок!!!
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: Как лучше начать программировать?
М-да.. Интересное решение.. А eject -t /dev/hdd не пробовали?Недавно купил dvdrom (специально для LinuxFormat ) , додумался как засовывать лоток через ярлык [echo 1 > /dev/hdd].
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж