17.12.2016, 15:00 | #1 | |||
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Языки - с чего начать новичку и почему
Цитата:
Цитата:
Цитата:
__________________
местный зомбяк Последний раз редактировалось TRam_; 17.12.2016 в 15:08. |
|||
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
17.12.2016, 18:24 | #2 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
1. Кто сказал, что мне понравится программирование? И из меня вообще получится хоть какой то программист. Это процесс долгий. Может помучаюсь с книжкой и брошу это занятие.
2. Я все понял, спасибо за подсказки. 3. Что такое объекты? Объясните простым языком человеку, который не знает что такое программирование? 4. Популярный тест "точка по кругу" или "таблицы шульте", можно сделать в VB без проблем.
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
17.12.2016, 19:01 | #3 | ||
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Цитата:
Цитата:
__________________
местный зомбяк Последний раз редактировалось TRam_; 17.12.2016 в 19:04. |
||
17.12.2016, 20:11 | #4 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
Я та почитал что такое объектно-ориентированное программирование и ничего не понял. Как я вижу программирование? Разрабатываем алгоритм. Допустим, при нажатии на кнопку "p" (у каждой клавиши есть сэкн код или как там его) даем команду винде на воспроизведение какого-то звука с определенной громкостью, с определенной частотой, при нажатии на клавишу "+" частота звука допустим будет увеличиваться на 11025 ГЦ, при нажатии "-" частота будет падать на тоже значение, при нажатии на клавишу "0" звук прекратит проигрываться. Потом это хозяйство компилируется.
Открываем викимапию: Методы Процедуры и функции, связанные с классом. Они определяют действия, которые можно выполнять над объектом такого типа, и которые сам объект может выполнять. Классы могут наследоваться друг от друга. Класс-потомок получает все поля и методы класса-родителя, но может дополнять их собственными либо переопределять уже имеющиеся. Большинство языков программирования поддерживает только единичное наследование (класс может иметь только один класс-родитель), лишь в некоторых допускается множественное наследование — порождение класса от двух или более классов-родителей. Множественное наследование создаёт целый ряд проблем, как логических, так и чисто реализационных, поэтому в полном объёме его поддержка не распространена. Вместо этого в 1990-е годы появилось и стало активно вводиться в объектно-ориентированные языки понятие интерфейса. Интерфейс — это класс без полей и без реализации, включающий только заголовки методов. Если некий класс наследует (или, как говорят, реализует) интерфейс, он должен реализовать все входящие в него методы. Использование интерфейсов предоставляет относительно дешёвую альтернативу множественному наследованию. Взаимодействие объектов в абсолютном большинстве случаев обеспечивается вызовом ими методов друг друга. Инкапсуляция обеспечивается следующими средствами: Или: Появление в ООП отдельного понятия класса закономерно вытекает из желания иметь множество объектов со сходным поведением. Класс в ООП — это в чистом виде абстрактный тип данных, создаваемый программистом. С этой точки зрения объекты являются значениями данного абстрактного типа, а определение класса задаёт внутреннюю структуру значений и набор операций, которые над этими значениями могут быть выполнены. Желательность иерархии классов (а значит, наследования) вытекает из требований к повторному использованию кода — если несколько классов имеют сходное поведение, нет смысла дублировать их описание, лучше выделить общую часть в общий родительский класс, а в описании самих этих классов оставить только различающиеся элементы. Необходимость совместного использования объектов разных классов, способных обрабатывать однотипные сообщения, требует поддержки полиморфизма — возможности записывать разные объекты в переменные одного и того же типа. В таких условиях объект, отправляя сообщение, может не знать в точности, к какому классу относится адресат, и одни и те же сообщения, отправленные переменным одного типа, содержащим объекты разных классов, вызовут различную реакцию. Отдельного пояснения требует понятие обмена сообщениями. Первоначально (например, в том же Smalltalk) взаимодействие объектов представлялось как «настоящий» обмен сообщениями, то есть пересылка от одного объекта другому специального объекта-сообщения. Такая модель является чрезвычайно общей. Она прекрасно подходит, например, для описания параллельных вычислений с помощью активных объектов, каждый из которых имеет собственный поток исполнения и работает одновременно с прочими. Такие объекты могут вести себя как отдельные, абсолютно автономные вычислительные единицы. Посылка сообщений естественным образом решает вопрос обработки сообщений объектами, присвоенными полиморфным переменным — независимо от того, как объявляется переменная, сообщение обрабатывает код класса, к которому относится присвоенный переменной объект. Данный подход реализован в языках программирования Smalltalk, Ruby, Objective-C, Python. Однако общность механизма обмена сообщениями имеет и другую сторону — «полноценная» передача сообщений требует дополнительных накладных расходов, что не всегда приемлемо. Поэтому во многих современных объектно-ориентированных языках программирования используется концепция «отправка сообщения как вызов метода» — объекты имеют доступные извне методы, вызовами которых и обеспечивается взаимодействие объектов. Данный подход реализован в огромном количестве языков программирования, в том числе C++, Object Pascal, Java, Oberon-2. Однако, это приводит к тому, что сообщения уже не являются самостоятельными объектами, и, как следствие, не имеют атрибутов, что сужает возможности программирования. Некоторые языки используют гибридное представление, демонстрируя преимущества одновременно обоих подходов — например, CLOS, Python. Концепция виртуальных методов, поддерживаемая этими и другими современными языками, появилась как средство обеспечить выполнение нужных методов при использовании полиморфных переменных, то есть, по сути, как попытка расширить возможности вызова методов для реализации части функциональности, обеспечиваемой механизмом обработки сообщений. От таких слов хочется блевать.
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
18.12.2016, 00:08 | #6 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
Это уже лучше. Я так понимаю в обычном программировании ("в блокноте") никаких классов и объектов нет?
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
18.12.2016, 02:52 | #7 | |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,728
Вы сказали Спасибо: 1,426
Поблагодарили 2,388 раз(а) в 1,339 сообщениях
|
Цитата:
__________________
местный зомбяк |
|
18.12.2016, 12:05 | #8 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
Короче прежде чем программист начнет писать код в блокноте, он нарисует себе схемку? Что из чего следует?
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
18.12.2016, 13:14 | #9 |
Матёрый пользователь
Регистрация: 11.05.2007
Адрес: Германия, Пфорцхайм
Сообщений: 1,662
Вы сказали Спасибо: 1,959
Поблагодарили 2,392 раз(а) в 771 сообщениях
|
Недавно попался сайтик и книжки про язык "Дракон". Скорее всего это пока только описание работы с блок-схемами, но сами схемы действительно составлены очень грамотно и точно. Жалко, что нет пока "интертрепатора" для разработки пользовательских приложений, но вот в разработке алгоритма очень даже неплохо.
__________________
Ложусь поздно, встаю рано - романтика! |
18.12.2016, 13:31 | #10 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
А что такое интерпретатор?
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
18.12.2016, 13:44 | #11 |
Матёрый пользователь
Регистрация: 11.05.2007
Адрес: Москва
Сообщений: 3,808
Вы сказали Спасибо: 505
Поблагодарили 1,472 раз(а) в 873 сообщениях
|
Не путайте человека, ООП, схемки и т.п.
нужно почитать школьный учебник по информатике для начала..и не пытаться сразу в дебри лезть.
__________________
!!Russian Railways Forever!! МТЖДТ им. Ф.Э. Дзержинского, ПС12->ПС42 (1999-2003), Славное депо Николаевка ЛВЧД-4 (2003-2006) |
18.12.2016, 13:59 | #12 |
Матёрый пользователь
Регистрация: 11.05.2007
Адрес: Германия, Пфорцхайм
Сообщений: 1,662
Вы сказали Спасибо: 1,959
Поблагодарили 2,392 раз(а) в 771 сообщениях
|
Возьми ка ты для начала вот эту книженцию. Для самого начала можно почитать. А там будет видно, интересно тебе это или нет.
__________________
Ложусь поздно, встаю рано - романтика! |
18.12.2016, 14:43 | #13 |
Матёрый пользователь
|
А почему все против начала изучения программирования с С++? Ну серьезно..
|
18.12.2016, 15:09 | #14 |
Матёрый пользователь
Регистрация: 19.02.2008
Адрес: Хлебный город
Сообщений: 2,615
Вы сказали Спасибо: 1,508
Поблагодарили 728 раз(а) в 439 сообщениях
|
Интерпретатор - это "переводчик" команд языка высоко уровня в машинный или объектный код. В отличие от компилятора, интерпретатор работает "на лету", т.е. каждая строка программы, при вводе(нажатии клавиши "ввод" или "Enter") или запуске программы командой RUN(если это, к примеру, BASIC), переводится в код и сразу же определяется наличие ошибок. Вернее, сначала проверяется наличие ошибок, потом перевод в код и выполнение.
Последний раз редактировалось GeneZone; 18.12.2016 в 15:18. |
18.12.2016, 15:39 | #15 |
Матёрый пользователь
Регистрация: 20.08.2007
Сообщений: 6,348
Вы сказали Спасибо: 35
Поблагодарили 1,168 раз(а) в 611 сообщениях
|
Объясню почему я купил две книжки по VB и Phytonу, а не по С. Научиться программировать, я хотел давно. Но я не собираюсь принимать участие в олимпиадах по программированию, где надо разрабатывать математический алгоритм. Я хочу скажем для начала создать программку как у психолога -"тока по кругу". И мне нужна такая книга, где после описания листинга будет пример работы программы. Т.е. либо это чистый EXE файл, либо ЕХЕ + DLL. Либо только DLL. А таких книг я не встречал. Кто подскажет, ну что, куплю. Электронные книги в формате DJVU или PDF мне не интересны. Я человек старой советской закалки и мне нужна нормальная бумажная книга. Нужен упор на графику. Ну например игра "пасьянс".
__________________
Вышел покурить на лестничную клетку, а там ребята стоят - вакцинируются. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С чего начать в Trainz Simulator??? | Mihlik75 | Железные дороги | 9 | 05.05.2016 21:55 |
Как начать ездить с нами в мультиплеерах? | APK-LVDZ | OpenRails - Мультиплеер: Линейный пункт | 0 | 17.12.2015 21:09 |
Информация для новичков. Как начать играть в мультиплеер RTrainSim | MJack | RTrainSim - Линейный пункт | 0 | 14.08.2015 21:24 |
Помогите новичку | Fanat36 | TrainZ - Подвижной состав | 1 | 13.07.2013 19:46 |
Помощь новичку. | МашинистПермь | MSTS - Сценарии | 1 | 15.09.2012 22:14 |
Что это? |