Здравствуйте много уважаемые хакеры.Кто может сказать,какой язык программирования нужно знать,чтобы создавать программы?Можно ли выучить этот язык самому дома?Сколько примерно на это уйдёт времени?Простите пажалуйста может уже этот вопрос кто-то выставлял,но лучше спрошу ещё раз.За ответы заранее огромное спасибо. Всем спасибо за ответы,но я не просил писать какую-то ерунду типа про мой ник и т.д.Поконкретней пажалуйста и цель создания программ состоит в том,чтобы я мог для себя что-то нужное создавать,а может даже трояны,возможно,даже какие-то другие вирусы.Может где-то чуть не правильно задал вопрос,но тему пажалуйста не засоряем.
Блин.... Любой язык программирования позволяет создавать программы. Это же очевидно. Начинать советую с бейсика или паскаля.
Начинать надо с Паскаля, Ассемблера. Большое значение - ООП (объектно ориентированному программированию). Без него сейчас - никуда. А, вообще, зачем и что программировать? И опыт приходит, когда уже понимаешь, что и зачем делаешь и делаешь это как минимум 2 года. Эти годы - и на изучение, и на набор опыта.
Думаю, как база может быть асм. И согласен, что с Объектами надо уметь работать. Дома выучить можно. Надо хорошие учебники и, как говориться, хыст до этого: способности. за 1,5-2 года можно выучить и даже кой-какого опыта набраться. И еще не только язык программирования, но и с какой оболочкой работать будешь в будущем. Тут во многом вопрос: для чего программировать?
Изучать рекомендую по следующей схэме: 1. Pascal + освоение алгоритмической базы и структур данных (примерно 3 месяца - полгода интенсивного изучения) За это время необходимо освоить базовые знания по алгоритмам и структурам данных 1. циклы (пост и пред) 2. условия 3. switch 4. ввод / вывод / файлы 5. арифметические операции 6, массивы 7. матрицы 8. диревья разные 9. списки разные 10. алгоритмы работы с этими данными, хранение, обработка, сортировка и т.д. 11. Базовые понятия по компиляции и сборке, и т.д. подойдет любой университетский учебник по алгоритмам и структурам данынх а лучше лекции найди ВМиК мгу в открытом доступе наверняка есть 2. Далее ASM 32bit (ассемблер, лучше 32-х битный, т.к. 16-битный уже немного неактуален, а те ограничения, что в нём используются, могут привести в дальнейшем к замешательству.) (срок 3 - 6 месяцев интенсивного изучения) Цель познакомиться с низкоуровневым программированием, получить потяние о том как программа взаимодействует с оборудование, знания об архитектуре ЭВМ. Считаю что данный шаг ни в коем случае пропускать нельзя, т.к. любое более менее качественное программирование на любом из языков программирования выского уровня подразумевает отладку и оптимизацию, а без знаний asm и архитектуры современных эвм, этого сделать просто невозможно. Подойдет любой практический учебник по ASM Книги по архитектуре современным ЭВМ История развития архитектуры ЭВМ (возможно понадобится для более доступного понимания книг по современным архитектурам) 3. Язык С (язык СИ именно СИ, а не СИ ПЛЮС ПЛЮС) (3 - 6 месяцев) Именно этот язык, потому что большинство современных языков имеют СИ подобный синтаксис, вот небольшой пример их: C / C++ / C# / PHP 4 / PHP 5.x / JavaScript и другие. Освоив язык СИ и его синтаксис вы достаточно быстро сможете ориентироваться в коде написанном на любом из языков, имеющим СИ подобный синтаксис. Это поможет вам находить и достаточно быстро разбирать примеры уже готовых решений. Вторая причина выбора языки СИ, это особенность языка СИ позволяющая ему быть не просто структурным функциональным языком программирования, а в тоже время иметь ряд примуществ низкоуровнего языка программирования. Книга Керниган Ричи язык СИ Любой практический задачник Изучение лучше осуществлять под ОС семейства Unix Попутно освоив следующие инструменты bash / make / gcc / gdb / командная строка ос cемейства Unix 4. Язык С++ (СИ ПЛЮС ПЛЮС) (3 - 6 месяцев) Основная цель понятия принципы объектно ориентированного программирования и закрепить их на практики. С++, а не любой другой язык ООП, потому что с к нему наиболее просто перейти от языка С. Книга Страунструп С++ Учите язык по стандарту, а не с использованием каких-то частных реализаций После года- двух лет интенсивного обучения по этой программе вы сможете овладетель практически без труда любым языком ООП. Дальше вас ждёт многолетняя практика, так как только практика дает опыт, 80% всех задач, которые вам будут встречаться однотипны, и при многолетнем опыте у вас практически на все будут готовые почти готовые решения. Если кто собирается работать в крупных компания и заниматься разработкой не помеашет еще овладеть следующими технологиями: Системы контроля версий: subversion / git / cvs Языком моделирования : uml Патерны проектирования, хотя бы основные, умение применять их на практики. Принципы SOLID: http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29 Овладев этими знаниями вы сможете уже притендовать на ведущие позиции в крупных российских и международных компаниях по разработке программного обеспечения. Всем желаю удачи! Все изложенное выше, является моим личным мнением и может отличаться от вашего, однако было проверенно на практики.