Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Советы для начинающих (https://forum.antichat.xyz/showthread.php?t=184619)

scrat 07.03.2010 03:02

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

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

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

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

Итак, вот небольшой учебный курс:
  1. Начните с изучения HTML перед тем как приступать к языкам программирования. Структура HTML аналогична многим программным структурам, и её довольно просто можно изучить.
  2. Изучите язык, с которым можно работать интерактивно, вбивая команды в интерпретаторе и получая ответ. Это отличный способ поиграться и понять что к чему. Подходящие языки: Python, Scheme, FORTH, ML, Smalltalk.
  3. На этом этапе стоит попробовать компилируемый язык, вроде Pascal или C. Со вторым лучше повременить, пока вы не изучите как следует низкоуровневое программирование. На этом этапе лучше не использовать IDE, а понять, как происходит сборка программы, что такое компилятор и отладчик, и как их запускать из консоли.
  4. Изучите ассемблер. Нет, не нужно брать winapi и пытаться писать шеллкоды, здесь важно понять, как устроены программные компоненты(адрессация, строки, стэк, ...) внутри, чтобы знать что к чему.
  5. Все нужные знания для изучения и понимания C уже есть. Так чего же вы ждёте?
  6. Далее у вас уже появится достаточно много опыта, чтобы решить, что вам предпринять дальше. Автор советует попробовать Perl, а затем Scheme и Smalltalk, если не пробовали ранее, после чего переходить к production-языкам типа C++/Java/C#(.net). Я бы советовал двигаться в сторону .net

Также хочу добавить, что изучение PHP не разовьёт никаких программистких качеств.

И не нужно спешить

zeppe1in 07.03.2010 04:14

Perl во втпрой пункт, а то и в первый.

lukmus 07.03.2010 05:09

Ruby во второй пункт, а то и во все

BrainDeaD 07.03.2010 06:04

считаю абсолютно неправильным сначала изучать процедурные языки програмирования как c и pascal, а потом переходить на c++, c# и тд., так как после процедурного очень трудно осваивать ооп концепт. об этом постоянно говорят все и вся, и мой опыт говорит о том же. с таким же успехом можно сразу приступать к ооп языкам, ведь они так-же имеют свои азы. особенно .net в виде c# и vb идет с нуля как по маслу.

Gar|k 16.03.2010 12:32

BrainDeaD +1

я уж лет 6 программирую на процедурных яп и ООП понять я вообще не могу да и не хочу...

Qwazar 16.03.2010 14:16

Ой какие плохие советы... Особенно первые три пункта.

St0nX 16.03.2010 14:58

Как язык разметки мне поможет в освоении алгоритмов и специфики программирования? =\

admink1 16.03.2010 22:17

ну вот, кому теперь прислушаться новичку?

Pashkela 16.03.2010 22:44

Да просто писать хоть на чем-нибудь, постоянно усложнять задачи, так и придете в итоге к выбору, имхо. Если сидеть и читать теорию только (пускать слюни) - ничему не научитесь. Если в процессе перейдете от PHP к C++ - прекрасно, больше опыта. Главное, чтобы вам самим интересно было, имхо

Nelzone 16.03.2010 23:06

согласен с пашкелой =\

Qwazar 17.03.2010 00:02

Цитата:

Сообщение от Pashkela
Если в процессе перейдете от PHP к C++ - прекрасно, больше опыта. Главное, чтобы вам самим интересно было, имхо

Лучше тогда от C# к С++, потом к PHP. Если идти от PHP, разовьётся дурной стиль. В этом плане C# оптимален, т.к. прогрессивен и прост (по сравнению с C++).

Delimiter 17.03.2010 00:13

упссссссссс forth для начинающих???? :eek:

... ничего сибе .... крутые новички получатся если перед изучением языков 3-го поколения начнут с 4-го :D

... я обычно засыпаю под описание структуры словаря форта (лучше всякого димедрола) :cool:

lukmus 17.03.2010 00:50

Цитата:

Сообщение от BrainDeaD
считаю абсолютно неправильным сначала изучать процедурные языки програмирования как c и paskal, а потом переходить на c++, c# и тд., так как после процедурного очень трудно осваивать ооп концепт. об этом постоянно говорят все и вся, и мой опыт говорит о том же. с таким же успехом можно сразу приступать к ооп языкам, ведь они так-же имеют свои азы. особенно .net в виде c# и vb идет с нуля как по маслу.

я согласен.
Не большая поправка: Pascal - ООП язык, просто мало кто знает об этом.

Gar|k 17.03.2010 00:55

lukmus o_O Turbo Pascal ООП?

BrainDeaD 17.03.2010 01:05

Цитата:

Сообщение от lukmus
я согласен.
Не большая поправка: Pascal - ООП язык, просто мало кто знает об этом.

http://ru.wikipedia.org/wiki/Паскаль_(язык_программиров ния)

Цитата:

Класс языка:
императивный, структурированный

Vernal Equinox 17.03.2010 01:37

с самого простого html,php и т.д

Tigger 17.03.2010 01:47

Цитата:

Сообщение от Qwazar
Лучше тогда от C# к С++, потом к PHP. Если идти от PHP, разовьётся дурной стиль. В этом плане C# оптимален, т.к. прогрессивен и прост (по сравнению с C++).

Согласен. Я начала изучать PHP, сейчас с C# борюсь. Трудно перейти на ООП. По привычке все делаю строками, а не объектами и т.д...

lukmus 17.03.2010 01:48

признаю свою ошибку, Turbo Pascal. однако, в современном мире врят ли кто-то говоря Pascal имеет ввиду Pascal образца 70-го года

XAKAmaDA 17.03.2010 19:27

точно, главное начать.

scrat 17.03.2010 20:16

добавил про php

Pashkela 19.03.2010 05:30

Цитата:

Также хочу добавить, что изучение PHP не разовьёт никаких программистких качеств.

добавил про php
Не будете рубить в PHP - забудьте про хек, по крайней мере на ближайшие лет 10. И насчет программистких качеств несогласен. Да, есть полно более оптимальных языков для того же веба, но...это такой же язык, как и все остальные, что-то можно, чего-то нельзя. А ТС стереотипен до безобразия. Пахнет ортодоксом. Правда, как не странно, этим страдают все профессиональные программисты, давно заметил.

PS: Просто мне смешно становится, когда сишник и ассемблерист, который решил заняться взломов, пишет мне в осику с просьбой написать локальный дампер данных из MySQL с функцией расшифровки паролей налету на PHP, потому что перла там тоже нет и ничего другого тоже. Вывод - нельзя с пренебрежением относится к самому распространенному (наиболее часто используемому) веб-языку

Qwazar 19.03.2010 13:16

Pashkela, мне становится смешно, когда я вижу 90% php кода на веб проектах. Не путай понятия - стать программистом, и выучить инструмент. Планете индусских программистов хватает, незачем новых плодить.

GhostOnline 06.06.2010 20:16

Бред сцуко.
"Научитесь программировать за десять лет"
А если я гений и все схватываю на лету?
Автор статьи по ссылке всех подводит под свою гребенку

scrat 06.06.2010 20:40

Цитата:

Сообщение от GhostOnline
Бред сцуко.
"Научитесь программировать за десять лет"
А если я гений и все схватываю на лету?
Автор статьи по ссылке всех подводит под свою гребенку

Дерзай, научись быстрее. Из того, что в программировании понимаю я, всё приведённое выглядит наиболее логично.

RedFern.89 06.06.2010 23:14

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

Gar|k 07.06.2010 00:15

Цитата:

Сообщение от RedFern.89
ну и за**выйте умеющих =)) мне помогло =))

плохой совет
лучше пусть учатся пользоваться поисковыми системами!!!

ErrorNeo 07.06.2010 08:53

когда-то я хотел стать прогарммистом, читал учебники, писал всякие там калькуляторы и прочую лабуду (здания из учебников)...
все, что мне это дало:
осознание того факта, что первую программу, которая еще никем до меня не написана, я смогу написать минимум года через 3 изучения программирования, а на то, чтобы написать хоть 1 по-настоящему нужную и востребованную программу - у меня уйдет лет 5 практики и изучения...

так что я бы посоветовал новичку вообще не читать книжек и ставить перед собой интересные задачи - типа "написать программу, которая удалит все файлы на винте" или там... сделает 10000 запросов к какому-нибудь сайту в минуту, или... которая перехватит нажатия клавиш пользователя и отошлет репорт на емейл :rolleyes: :D ну или как вариант, написать бота к какой-нибудь (онлайн или не очень) игре.
ну или что-угодно интеерсное и кажущееся полезным.

(помню своего первого бота для браузерки я писал - непрерывно 2-3 суток - спал всего часа по 4 - такой был азарт. и это при том, что я вообще не умел программировать!=) Зато написав - научился, и дальше уже умел всё то, что использовал в первой программе. и так далее)

В общем главное, мне кажется - не впасть в уныние, и открыть для себя целую вселеную никем не написанных (как вариант - написанных, но отсутствующих в паблике) программ.
И уже пытаясь решить такие или любые другие (главное что интеерсные дял самого себя) задачи - можно уже и учиться :p


Время: 08:05