HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Флуд > Безумно сложный язык программирования
Страницы (5): [1] 2 3 4 5 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Talking Безумно сложный язык программирования

Так уж исторически сложилось (и мне не кажется, что это правильно), что С\С++ традиционно считаются самими сложными языками высокого уровня.
Этим меня помнится пугали еще хрен знает с какого года: мол изучение новичком С++ - это как удар головой в закрытую дверь с разбегу.
Но я, как человек, непонаслышке знакомый с булевой алгеброй, и коротавший время в пятом классе за составлением таблиц истинности для очередного цифрового устройства на советских логических элементах, им не поверил. Потом мне конечно приходилось сталкиваться с другими языками и каждый раз они вызывали стойкое отторжение совершенно уродским синтаксисом. В том же делфи, меня к примеру бесит begin\end и :=. В каком-нибудь C# вообще нихрена непонятно что происходит - там конструкции совершенно немыслимые, такое ощущение, что половину кода дописывает компилятор. Но опять же - дело привычки, не спорю.
Вопрос в другом: почему С\С++ считаются самыми сложными языками для освоения? Из-за прямой работы с памятью? Или из-за отстутвия нормальных инструментов для работы со строками по умолчанию?
Те, кто осваивал язык - напишите, что вам давалось труднее всего.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 64998

Старое сообщение 04-10-2010 09:59
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



>> мол изучение новичком С++ - это как удар головой в закрытую дверь с разбегу.

У меня это именно так и происходит.

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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 64999

Старое сообщение 04-10-2010 11:00
- За что?
PomanoB
Житель форума

Дата регистрации: Aug 2010
Проживает: (void)
Сообщений: 157

Рейтинг



Тоже думал пока учился в школе, что С++ очень сложный, но когда пошёл в универ и начали его изучать, вообще не понятно что там сложного, всё предельно логично)

Делфи тоже бесит, он наверное бесит всех кто не изучал его в школе

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

Особо сложного в С++ вроде нет, но труднее всего виртуальные функции, мне кажется, но, опять же, это не так трудно разобраться с ними

Сообщить модератору | | IP: Записан
Сообщение: 65000

Старое сообщение 04-10-2010 11:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
PomanoB писал:
С# для меня казался непонятным, пока не начал его изучать, там действительно много таких вещей которые преобразует компилятор, но всё равно, достаточно похоже на С

Это современная замена бейсику, микрософт его позиционерует именно так.
Цитата:
PomanoB писал:
Особо сложного в С++ вроде нет, но труднее всего виртуальные функции, мне кажется, но, опять же, это не так трудно разобраться с ними

Самое жуткое в С++ - создать указатель на функцию внутри класса и правильно к ней чего-то присвоить. Я до сих пор этого толком не умею кстати. Да и сам Страуструп не одобряет указатели на функции ЕМНИП, как раз и рекомендует юзать виртуальные функции, хотя они не перекрывают указатели на функции по возможностям.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 65004

Старое сообщение 04-10-2010 12:24
-
DEAD MAN
Mono

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Tallinn
Сообщений: 1232
Возраст: 32

Рейтинг



Что мне даётся труднее всего? А то, что препод. в универе несёт ахинею себе под нос, видимо считая, что всем всё понятно у всех до у до универа уже была какая-то база знаний. А при попытке одновременно втыкать какую-нибудь книгу, типа Язык программирования Си от Б. Кернингана и Д. Ритчи - получается когнитивный диссонанс и в итоге вообще ничего непонятно.

Фух, высказался.

Сообщить модератору | | IP: Записан
Сообщение: 65014

Старое сообщение 04-10-2010 14:57
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
DEAD MAN писал:
препод. в универе несёт ахинею себе под нос

например?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 65039

Старое сообщение 05-10-2010 09:43
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


С++ - очень простой язык для тех, кто его не знает, и очень сложный для тех, кто его знает. Звучит как парадокс? Вовсе нет. Просто многие видят в нем "Си с структурами, в которые можно пихать функции". Если же смотреть глубже, начать работать с шаблонными классами и функциями, реализовывать в нем различные паттерны, тщательно разобраться с STL и Boost (я уж не говорю о том, чтобы попробовать самому написать шаблоны, подобные бустовским!) - приходит понимание того, что язык очень сложен. Но тот, кто разобрался во всём этом - сможет писать эффективный и (внимание!) читабельный код, который в дальнейшем легко поддерживать другим людям.
В С# все эти же вещи реализуются зачастую скрыто от пользователя, поэтому нечитабельный код на нём написать несколько сложнее
Современная замена бейсику - это вовсе не С#, а VB.Net. Но я его смотреть так и не стал. С# пришлось изучать и даже сдавать по нему экзамен, впечатление осталось примерно такое "ну java как java..."
Обжект паскаль - очень мощный язык, содержащий в себе практически весь функционал Си и при этом намного читабельнее. Но увы, ООП-надстройки его сильно изуродовали, да и видно, что не только VCL для языка, но и местами язык под VCL подгоняли

Что в С++ было сложно для меня, когда я начал его изучать? Ну вот примерный список:
1) Что такое void и почему оно встречается в таких количествах?
2) Почему нельзя просто присваивать строки? Почему надо постоянно юзать strcpy? (до этого я работал в бейсике и делфи, ну вы понели)
3) Почему конструкция for выглядит так дико?
4) Почему у массивов нет функций LBound и UBound?
5) В чем разница между указателем на константу и константным указателем?
6) Зачем нужна эта сцаная стрелка у указателей? Почему нельзя обходиться той же самой точкой?

Ну может, что-то еще было. Всего не вспомнишь

__________________

Сообщить модератору | | IP: Записан
Сообщение: 65041

Старое сообщение 05-10-2010 09:50
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Почему нельзя просто присваивать строки? Почему надо постоянно юзать strcpy? (до этого я работал в бейсике и делфи, ну вы понели)

это по-моему для всех было больным местом. Ведь даже в примитивном куси строки можно присваивать.
Цитата:
XaeroX писал:
Почему конструкция for выглядит так дико?

а как надо?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 65042

Старое сообщение 05-10-2010 09:59
-
Wealth
Забанен

Дата регистрации: Oct 2009
Проживает: (void)
Сообщений: 261
Возраст: 28

Рейтинг



А может ктота посоветовать хорошый учебник ?

Сообщить модератору | | IP: Записан
Сообщение: 65047

Старое сообщение 05-10-2010 11:39
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Wealth писал:
А может ктота посоветовать хорошый учебник ?

Откуда в людях неистребимая вера в хороший учебник?
Ничему ты не научишься не с каким учебником, если сам не захочешь.
Судя по тому, что ты уже не первый раз спрашиваешь про какой-то "хороший учебник", учиться ты ничему не хочешь и не сможешь.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 65052

Старое сообщение 05-10-2010 12:31
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
а как надо?

Ну, как во всех остальных языках.

паскаль:
for i = 0 to 10 do
begin
...
end;

бейсик:
For i = 0 to 10
...
Next i

__________________

Сообщить модератору | | IP: Записан
Сообщение: 65054

Старое сообщение 05-10-2010 13:37
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 65058

Старое сообщение 05-10-2010 15:28
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша вложенные вот так:

for i := 0 to 10 step 2 do begin
for j := 0 to 10 do begin
...
end;
end;

For i = 0 to 10 Step 2
For j = 0 to 10
...
Next j
Next i

А несколько итераторов в одном условии - нельзя.
В том то и смысл, что в С++ конструкция for это целый блок кода, где можно какую-то логику реализовать, а в остальных языках - именно цикл "от и до" и ничего больше. Что логично и читабельно.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 65060

Старое сообщение 05-10-2010 15:37
-
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Тем кому C++ кажется слишком трудным для изучения - не надо пытаться сразу освоить весь язык. Пишите сначала простые программки с использованием самых простых возможностей. Когда начнете писать их уверенно - переходите к более сложному. Главное - практика. Лично я до сих пор иногда узнаю какие-нибудь новые для себя нюансы, хотя C++ начал изучать почти 5 лет назад...

Сообщить модератору | | IP: Записан
Сообщение: 65061

Старое сообщение 05-10-2010 16:10
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Government-Man
Можешь привести пример таких задачек? Я и сам простенькое писал, но написать что то сложнее, даже в голову не пришло.
Особенно интересуют матрицы, обратные матрицы, и т.п.

Сообщить модератору | | IP: Записан
Сообщение: 65065

Старое сообщение 05-10-2010 16:49
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 09:08. Новая тема    Ответить
Страницы (5): [1] 2 3 4 5 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Флуд > Безумно сложный язык программирования
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024