|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.09.2009, 00:14 | #21 |
пропагандирую жизЪ
Форумчанин
Регистрация: 19.03.2007
Сообщений: 950
|
Начинать нужно не с ЯВУ, а с Алгоритмов! Алгоритм-основа всех языков. Помню как нас профессор мотал, он с легкостью доказал что мы не умеем складывать столбиком, так как не знаем алгоритма. Выявить задачу, описать ее на листочке ввиде блок схем, а потом хоть ява, хоть паскаль, хоть фортран!
Посторонним В.
|
29.09.2009, 00:35 | #22 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Как-будто сами всё сразу знали и первый язык выбирали исключительно основываясь на свои познания, а не по совету друга/преподавателя/интернет-сообщества.
Ну а теоретически вообще языки программирования мало чем отличаются от обычных языков. Суть одна и та же. Так вот можно ли сказать, что русский язык от английского отличается только набором символов и правилами грамматики? Всё же языки - это часть культуры и в каждом свои особенности. Взять те же Java и C++. Код на одном компилируется в байт-код, чем обеспечивается его кроссплатформенность, а другой "привязывается" к конкретной платформе при компиляции. Да. Это вроде как и не особенности языков, а всё дело в компиляторах. Ведь ничто не мешает код на С++ собрать в тот же байт-код. Только в данном случае буквоедством излишним заниматься не стоит и можно приписать к особенностям языков. Да банально составы стандартных библиотек уже вносят разницу в языки и проектирование программ. Если нет ассоциативного контейнера в поставке с IDE, то я врядли буду изобретать свой велосипед или прикручивать какую-то библиотеку ради этого. Скорее всего я буду использовать другой контейнер и может ради этого алгоритм изменю. Кто на С++ использует делегаты? А кто на C# их не использует? На С++ вполне несложно собрать свой класс для делегирования, но подавляющее большинство просто по-другому классы проектирует, потому что так исторически сложилось. А теперь попробуем поискать в инете вопросы про паттерны проектирования. Программисты на каких языках про них интерисуются? C#, Java, C#, C++, C#, Java,... А где же делфисты? Ой. Вот один интерисуется. А всё почему так? Делфисты умнее всех и им и так всё понятно или паттерны они практически не используют и не особо интерисуются ими? И почему так мало плюсовиков ими интерисуется? Это лично я считаю показателем и частью культуры программирования на конкретном языке. В общем моё ИМХО: языки отличаются далеко не одним только синтаксисом, даже если не брать во внимание область их применения. Начинать можно, например, с паскаля или си. С++ содержит ненужные для начала добавления, по сравнению с си. C# и Java слишком высокоуровневые, сборщики мусора приучат к плохому, а огромные стандартные библиотеки развращают и мешают реализовывать простенькие вещи самостоятельно |
29.09.2009, 02:37 | #23 |
Регистрация: 08.09.2009
Сообщений: 6
|
Есть распространенное мнение, что учить программирование лучше снизу вверх. То есть начинать с ассемблера. Это имхо самый грамотный, но и самый трудный путь.
|
29.09.2009, 06:09 | #24 |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
Изучать с нуля ассемблер... ну на данный момент это не есть разумно...
Нужно сперва понять алгоритмы для этого есть байсик, паскаль... потом можно и си или еще что...можно попутно почитывать ассемблер ибо он хорошо мозг ставит о работоспособности кода...и некоторых функций... |
29.09.2009, 08:05 | #25 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ну да, возьмите к примеру Лисп и С++. Разница здесь далеко не только в синтаксисе. Язык не только синтаксис, это еще и способ мышления. Вот о чем многие забывают (а некоторые и не знают просто, потому как сидят только на одном). Иными словами язык программирования предписывает способ реализации задачи (но не заставляет). Вы конечно можете не следовать общим канонам языка, но поступать таким образом будет очень не легко. Опять же сравните Яву и Форт - оба языка примерно эквивалентны. Но способы достижения одних и тех же целей будут абсолютно различными. Для Явы характерны классы, для Форта - создание своих собственных команд (это даже не всегда функции и процедуры). Оба языка имеют свои сильные и слабые стороны.
Также всегда помимо алгоритма забывают о структурах данных. Ассемблер всегда привязан к регистрам процессора и при решении задач Вы от этого никуда не убежите. А Лиспу пофигу чего там перед Вами строка, число - все есть список. В Делфи по сути также свой набор данных, который Вы можете расширить (но его можно расширить во многих языках). И как бы Вы не работали со строками в ассемблере - Вы работаете с адресами памяти и конкретными ячейками и регистрами процессора. А в Делфи я не знаю какой адрес у строки и знать не хочу (и даже для ряда задач такое знание будет мешать Вам решить задачу) и с адресом я работаю или непосредственно с ячейками памяти. Эта информация необходима в Ассемблере в Делфи будет не только не нужна, но и местами даже опасна. Однажды один горячий программист (а точнее программистка) убеждала меня что я ничтожество, потому что работая в Делфи, я практически ничего не знаю о железе (и это при том что она "кроссплатформенный программист на С++" ). О чем это говорит? Об узости кругозора. Для ее задач, возможно, действительно нужно знать разрядность процессора и адрес расположения строки в куче. Она уверяла меня что без использования указателей в своей программе не возможно написать не одну программу длиной более 100 строк . Ну как ей объяснить что я никогда в явном виде не пользуюсь указателями? За меня это делает Делфи и меня это устраивает. И более того я считаю, что использование указателей в Делфи не является необходимостью. И практически любую задачу для данного языка можно решить без явного использования указателей. Кто из нас прав? Да оба правы (только мой оппонент никак не мог этого понять), но языки программирования на котором мы пишем программы откладывают свой отпечаток на реализацию алгоритма, вынуждая нас решать одни и те же задачи разными способами.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 29.09.2009 в 08:22. |
29.09.2009, 08:20 | #26 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
29.09.2009, 09:24 | #27 |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
|
29.09.2009, 09:34 | #28 |
Форумчанин
Регистрация: 25.02.2009
Сообщений: 145
|
Лично я началс qbasic'а.Хоть я далеко и не профи,но бэйсик посоветовать могу.Основные принцыпы программирование,соприкосновение с простой графикой.Вобщем для начала самое то!Автора моей книги не помню(брал у соседа),но также излагалось про отличия между компилятором и интерпретатором и говорилось на счет других базовых вещах.Вобщем QBasic.
Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.
|
29.09.2009, 11:33 | #29 | |
Подтвердите свой е-майл
Регистрация: 27.07.2009
Сообщений: 437
|
NeshSoft
Цитата:
type begemot = object [методы] private: [описание полей] end; |
|
29.09.2009, 13:12 | #30 | |
Максим Николаев
Форумчанин
Регистрация: 15.02.2009
Сообщений: 170
|
Цитата:
Я имел ввиду следующее: в паскале ввод данных: readln(a), а в делфях уже a:=edit1.text, а если еще а число то и вообще a:=StrToInt(edit1.text)... Конечно я не имею ввиду консольные приложения в делфи. Смысл в том, что в паскале что главное - запрос на ввод параметров, обработка, вывод. А в делфи уже всякие edit,button, у них есть свойства, методы... Вобщем думаю меня поняли, я же для новичков излагал, а не претендовал на научные дискуссии
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Самая оптимальная настройка системы | Altera | Свободное общение | 11 | 16.08.2009 20:09 |
самая превая программа | m0t0d0r | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 12.01.2009 18:04 |
SelectDirectory overload начальная папка | eks-s | Общие вопросы Delphi | 2 | 06.12.2008 05:37 |
Самая СЛОЖНАЯ ЗАДАЧА ВО ВСЕЛЕННОЙ | Акашаев Нурлан | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 26.04.2008 22:32 |