призрачный форум

www.prizrak.ws

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » www.prizrak.ws » Программирование » Как стать программистом >>???


Как стать программистом >>???

Сообщений 1 страница 30 из 44

1

Многие вероятно интересуются, с чего начать обучение программированию. И именно поэтому я подобрал немного информаци.

Введение.
Эта статья не про выбор первого языка(несмотря на самый большой пункт тут).

1) А надо ли мне это?
действительно, советую хорошо подумать ;)
Кто-то из KISS говорил примерно такое по смыслу "Если кто-то говорит, что он взял гитару и играет ради музыки, а не для того, чтобы заваливать телок, то это гон, можете плюнуть ему в лицо!" Тут заменяем телок на стабильные(хоть и небольшие) деньги, а музыку на кодинг =)

2) Для чего?
Собственно вопрос с подвохом. Ибо правильно ответят лишь немногие(и это будет совпадением).
А дело в том, что человек сам не знает, чего хочет. Да и как правило одним языком не заканчивается.

3) Определение первого языка для обучения. Эта часть займет около пары часов.
Есть 2 варианта: взять актуальный язык, либо язык типа паскаля или бейсика: которые не применяются.
Кто-то может возразить: мол Delphi или VB.NET. Разочарую их: Delphi и паскаль не имеют ничего общего кроме небольшого сходства в синтаксисе. Для VB.NET и BASIC оно и того меньше. И подходы в программировании абсолютно разные. Это все равно, что изучать C++, начав с книги по C. Но об этом поподробнее потом.
Однако хочу дать заранее совет: не стоит начинать с низкоуровневых вещей, т.к. при обучении программированию придется уделять не только алгоритму, но еще и работе с указателями, выделением памяти и прочими "вкусностями". Именно этим "страдают" C/C++/asm. Поэтому я бы не рекомендовал начинать с них - наверстать можно будет и потом(ну если конечно это будет нужно).
Итак, что у нас остается: Java, .NET(C#, VB.NET и подобные языки, распространено в основном в США), Delphi(только в бывшем СНГ, на общемировой арене это очень редкий зверь). и скриптовые языки: Python, Ruby, Perl. Так же существует PHP, однако для его изучения надо уже иметь теоретические(и желательно практические) знания о работе веба, многие этому не следовали, а что из этого получалось, можно узнать на phpclub.ru, посмотрев на тупейшие вопросы в основном разделе их форума).
Сам бы я посоветовал Python или бейсик. Кстати их объединяет одинаковая типизация: dynamic, strong. Кстати хочу заметить, что именно strong типизация позволит минимизировать количество логических ошибок.
Языки со strong-типизацией: Java, C++(именно C++, а не C), .NET языки, Python, basic, ruby, delphi. У C, Perl, PHP типизация weak(слабая).
Подробнее читать про конкретный язык в википедии(wikipedia.org).

4) Итак язык выбрали, с чего начинать?
С самого начала. По мере изучения языковых конструкций пробуем применять их на практике. это не сложный этап, однако именно на нем отсеивается большинство. И проблема с нехваткой материала для тренировок. Пример задачки(задача 1) можно увидеть в приложениях.

5) Допустим, выучили мы синтаксис. Ну или почти выучили. Ведь некоторые языки типа бейсика, C, Pascal или Java можно выучить(имеется ввиду только синтаксис, причем без magic-фишек) очень быстро. Но вот научиться применять его - намного сложнее.
Эта часть похожа на изучение поведения сферического коня в вакууме. Потому что на примерах ее изучить практически нельзя. Отложим этот этап.
Итак, добро пожаловать в реальный мир!

6) Чем отличается реальная задача от задачи из задачника? Правильно, тем, что она реальная. Для примера возьмем такую: написание программы для сортировки мейлов в файле. С графическим интерфейсом.
Что понадобиться знать? Работу с файлами, работу с GUI. Изучаем. Пишем. И перед нами уже начинает возникать проблема. Подробнее о ней немного дальше.
И именно на этом этапе начинаем изучать стандартные библиотеки языка/технологии. и не только стандартные.
Кстати, на этом этапе уже можно начинать зарабатывать. Однако качество продуктов будет хреновое ;)
Решаем задачу 2(в приложениях).

7) Насчет проблем из пункта 5. Если работу с файлами можно сделать по принципам структурного подхода, то уже работа с GUI в этом стиле будет сплошным мучением. Итак, изучаем ООП. Именно практическую часть, т.к. в пункте 4 теория уже была выучена. Этап занимает достаточно много времени.
Именно по этой причине я не советовал начинать C++ с C, а Delphi с паскаля: переучиваться будет сложнее, чем начинать  заново.
То есть учим теорию: ООП(нужно много практики), которая плавно перейдет в ООД, естественно надо будет знать паттерны, UML, принципы разработки и т.д.
Так же больше работаем на практике: регулярные выражения, работа с БД и SQL, GUI, сокеты, высокоуровневые протоколы, такие как HTML, FTP и всякие xmlrpc и SOAP, набор технологий XML и прочие.
Решаем задачу 3(на выбор).

8) Что дальше?
Совершенствуем свои навыки. Ты уже будешь сам знать, что тебе дальше делать.
P.S. Хочу заметить, что литературы на русском языке для тебя станет не хватать. Вообще. Так что знание английского обязательно. Именно обязательно, а не желательно.

И пару нюансов:
1) Практически для всех языком имеются свободные рабочие места. Ну кроме раритетных или специфических.
2) И вообще, если заказчику нужен готовый продукт, то ему, как правило, монопенисуально, на чем написан продукт.
3) У каждого языка своя направленность. Поэтому тупо применять к примеру PHP для написание клиентских приложений с GUI, а на ассемблере писать сайты или СУБД.
4) Заработок не зависит от языка/технологии, а только от уровня профессионализма.
5) А если занимаешься низкоуровневым программированием, то про ООП - не на твой счет.
6) Есть такое заблуждение: "Программист - это тот, кто умеет составлять алгоритмы". Так вот: умение составлять алгоритмы - требование обязательное, но не достаточное, на этом дальше 5 пункта(в этом обзоре) не уедешь.

Приложения:
Задача 1 (уровень: продвинутый школьник)
Старая задачка, обычно на школьных олимпиадах ее дают:
Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов.
P.S. Естественно могут быть "гнутые" и "дырявые" острова.
P.P.S. Как не странно, но решают ее редко, хотя она достаточно легкая.
Задача 2  Написать аналог wget.
Задача 3A  Написать BB-парсер. Естесвенно не тупой подстановкой регекспов.
Задача 3Б  Интерпретатор/HTTP-сервер/etc на выбор.

Подпись автора

Я Хранитель Свеч на границе Тьмы Свет ковал мой меч для своей войны…


www.prizrak.ws Аниме Форум - для общения любителей аниме (японской анимации), манги и хентая. Новости, статьи по темам: безопасность, хакерство, программы. Игры и софт для WinOS, PocketPC, Linux/Unix и др. Архив игр, фильмов DVD, музыки mp3 и программного обеспечения. Теги: скачать anime, скачать мангу, скачать хентай, скачать яой, скачать юри, скачать аниме обои картинки, скачать музыку mp3, скачать фильмы dvd, скачать софт, скачать программы, скачать игры ^__^

+1

2

для етого нужно много читать и не линиться!!

0

3

Задача действительно заставила задуматься!!!!

0

4

Мда... столько написано... Это хорошо... но это далеко не все!
Еще нужно многое освоить и узнать... и лет через 10 ты станешь настоящим программистом! :)

0

5

Нужно нажраться и начать писать проги в дэлфи :D

Подпись автора

Член клуба<Антияой>
Глава клуба<К.И.М.>
https://anime23.com  -=Natsuru=-

0

6

Ну почему же через 10 главное практика )))) я вот учусь на программа уже 4 года и постепенно практикуюсь на работе )))

Подпись автора

Член Клуба <Антияой>
Член Клуба <К.И.М.>
Член Клуба <Клуб Лунатиков>
Глава Клуба <Клуб АнтиЯщечки>

0

7

Призрак, вопрос... ты это добросовестно писал от руки иль нагуглил?

Подпись автора

Принципиальность! когда надпись "Помой меня!" заростает слоем пыли..

0

8

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

Подпись автора

Принципиальность! когда надпись "Помой меня!" заростает слоем пыли..

0

9

ЛОЛ однако

Отредактировано Wingless (2009-02-05 00:38:46)

Подпись автора

the source and end is you

Член Клуба Яой

0

10

я знаю это очень трудно

0

11

читать долго.... :)

0

12

хм .... Как стать программистом?
________________________________

Я согласен с Призраком.

prizrak написал(а):

1) А надо ли мне это?
действительно, советую хорошо подумать ;)
Кто-то из KISS говорил примерно такое по смыслу "Если кто-то говорит, что он взял гитару и играет ради музыки, а не для того, чтобы заваливать телок, то это гон, можете плюнуть ему в лицо!" Тут заменяем телок на стабильные(хоть и небольшие) деньги, а музыку на кодинг =)

_________________________

2. Изучить коды и много программ на которых пишут программы - не главное! (но тоже очень важное)

Самое главное тут нужно логику развивать! Бестолковый человек который знает все языки программирования, не значит что он программист уже автоматически  :noworry:
_________________________________________________
Логика ребята, логика обязательна нужна и главная в программирование!!!

Подпись автора

Сисько...
Z179963613262

0

13

Для начала нужно иметь компьютер с хорошими характеристиками!! а задачка интересная!!

Подпись автора

https://novafilm.tv/torrentbar/580935.png
.......ДА ПРИБУДЕТ С ТОБОЙ F1, ДА СОХРАНИТ тебя F6, ВО ИМЯ CTRL ALTа И СВЯТОГО DELETE. Esc....
........Любовь .........это .....болезнь..............которая ......требует......постельного......режима

0

14

програмистами рождаются

0

15

low написал(а):

програмистами рождаются

Все зависит от самого себя ... родиться можно в бедной семьи .... но позже стать богатым ... !!!!

Подпись автора

Сисько...
Z179963613262

0

16

Ну блин, все прям такие кулхацкеры -_-

Подпись автора

Аморально скидывать детей в яму и засыпать их известью, но что-то же с ними надо делать! (Даниил Хармс)

0

17

ХеХ... дя... ми эт точно не когда не светит(((

Подпись автора

Член клуба[>>_Яой]
ребенком бала, есть и буду!...)
ведь только у детей нет прошлого...
и только мы говорим правду в глаза, и не краснеем!

0

18

prizrak написал(а):

1) А надо ли мне это?

Главное чтобы нравилось, а если нет, то лучше не терять время

Подпись автора

Крыша хлопает в ладоши:
"всем спасибо план хороший"
:P

0

19

«Программное обеспечение вычислительной техники и автоматизированных систем»

В процессе профессиональной деятельности выпускники могут применять математические методы решения оптимизационных задач; разрабатывать алгоритм программной реализации поставленной задачи; создавать программный продукт по разработанному алгоритму, выполнять отладку и тестирование программного продукта; работать в составе бригады программистов; осуществлять разработку и сопровождение сетевых приложений; разрабатывать структуру удалённой базы данных, создавать приложения для баз данных с использованием одной из современных сред программирования; осуществлять рациональную эксплуатацию баз данных; обеспечивать достоверность информации при использовании баз данных; использовать пакеты прикладных программ, осуществлять программирование в среде пакета прикладных программ, его интеграцию с другими программами; осуществлять программную защиту информации
это программист??? а то я дне открытых дверей по названию определял что есть что)

Отредактировано Niakron (2008-05-07 18:59:30)

Подпись автора

темно...так много мыслей,пойду посплю

0

20

Niakron написал(а):

«Программное обеспечение вычислительной техники и автоматизированных систем»
В процессе профессиональной деятельности выпускники могут применять математические методы решения оптимизационных задач; разрабатывать алгоритм программной реализации поставленной задачи; создавать программный продукт по разработанному алгоритму, выполнять отладку и тестирование программного продукта; работать в составе бригады программистов; осуществлять разработку и сопровождение сетевых приложений; разрабатывать структуру удалённой базы данных, создавать приложения для баз данных с использованием одной из современных сред программирования; осуществлять рациональную эксплуатацию баз данных; обеспечивать достоверность информации при использовании баз данных; использовать пакеты прикладных программ, осуществлять программирование в среде пакета прикладных программ, его интеграцию с другими программами; осуществлять программную защиту информации
это программист??? а то я дне открытых дверей по названию определял что есть что)

Да, совершенно верно

Подпись автора

Крыша хлопает в ладоши:
"всем спасибо план хороший"
:P

0

21

Niakron написал(а):

«Программное обеспечение вычислительной техники и автоматизированных систем»

Еще иногда называют техниками

Подпись автора

Крыша хлопает в ладоши:
"всем спасибо план хороший"
:P

0

22

большое спасибо,знач по той специальности пальцем тыкнул)

Подпись автора

темно...так много мыслей,пойду посплю

0

23

Чё сразу с дельфы начинать она жутко тормозная
берёш и учиш c++ сильно сложного там ни чего нет
просто надо не тупо читать документацию а ещё и делать простые програмки
теория учится за 2-3 дня потом надо только практиковаться и ещё раз
практиковаться
          удачи

Подпись автора

"Я вижу человек сидит на стуле и стул кусает его за ногу"
                                                                        Роберт Шекли

0

24

Ну сначало нужно уметь пользоваться с компьютером...

Подпись автора

работает всё! - вот твоя подпись))

0

25

Эт точно

0

26

Shaytan написал(а):

по скольку не заданы границы мне кажется решением буит бесконечность)

Границы есть. Это же двумерный массив N x M элементов.

CRUSADER написал(а):

Еще иногда называют техниками

Почему техниками? Они ж никакого отношения к самой технике не имеют. Только software

Подпись автора

I'm always waiting for a red letter day

0

27

хехе))) мой моСк не воспринимает столько информацЫыЫ))https://forumupload.ru/uploads/0000/35/39/302673-2.gif

0

28

В том чтобы стать программистом нет ничего сложного:
1. Комп //ну эт естественно
2. Выбрать язык программирования //по своему опыту предлагаю С++ ну или С т.к. с этих языков начинал я)
3. Хорошая книга //спрашивайте у людей, смотрите книжные сайты/магазины
4. Среда разработки //no cooments, хотя если вы выбрали С/С++ то Мелко$офт визуал студия 2005 это самое лучшее
5. Приступить к изучению, а дальше после прочтения книги сами разберётесь и "раскачаетесь"

0

29

Программистом не каждый может стать! Усилия нужны

Подпись автора

Я рождён в Советском союзе, сделан я в СССР

0

30

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

Подпись автора

Главное лекарство в мире - Пурген

0


Вы здесь » www.prizrak.ws » Программирование » Как стать программистом >>???