Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Опросы > Нужен ли каждому программисту C++?


Автор: nerezus 10.11.2006, 11:24
Сабж.

Я считаю, что каждому программисту необходимо знать C++ и Java на уровне синтаксиса.
Причина: практически все примеры в умных книжках на этих языках.

Автор: Sartorius 10.11.2006, 11:41
 Я б сказал, что нужно знать С. Множество остальных языков (Java, C#, Perl ...) унаследовало его синтаксис. А зная С можно спокойно читать исходники на этих языках.

Автор: slav0nic 10.11.2006, 11:41
C надо, жабу нет, темболее ООП везед разное

Автор: nerezus 10.11.2006, 11:49
Sartorius, я сомневаюсь, что синтаксис PHP, Perl и C похожи. Там только отдаленное сходство.

Автор: slav0nic 10.11.2006, 11:57
ну не lisp)
 а рнр как раз похож на С

Автор: nerezus 10.11.2006, 11:58
Цитата

а рнр как раз похож на С
 Ты его даже не знаешь ))
Будем считать, что C мы знаем.

Ну да ладно: вопрос то не в C, а в C++.

Автор: skyboy 10.11.2006, 12:04
Цитата(nerezus @  10.11.2006,  10:24 Найти цитируемый пост)
Я считаю, что каждому программисту необходимо знать C++ и Java на уровне синтаксиса.

а я считаю, что все девушки должны быть брюнетками  smile 
Вот если я - программист функционального языка(например, диалекта LISP'a) или логического -- зачем мне С++? Обобщение - это упрощение, а мир - непростая штука smile Без знания синтаксиса С++ вполне можно обойтись. 

Автор: spin2 10.11.2006, 12:14
Нет, не нужен. Потому что в глобальном смысле синтаксис у всех языков этого уровня похож и разобраться с примером на любом языке - не проблема.

Автор: esperant0 10.11.2006, 13:00
Я считаю что все программисты должны знать теорию вычислимости и не бояться машин тьюринга.


Автор: Reptile 10.11.2006, 13:45
Абсолютно согласен с skyboy.
Зачем мне С++ если я на Prolog-е пишу? smile  

Автор: Alexeis 10.11.2006, 13:59
В любом случае нужно знать хоть один классический язык. С, pascal, Assembler. Особено хорошо, если знать хоть самые основы Ассемблера, для понимания того "как это все работает". Если не изучать ассемблера, то хотя бы С или на крайний случай Паскаль. Без знания ассемблера сложно написать эффективный алгоритм, на любом из языков. Так что С++ можешь ты не знать, но ассемблер обязан smile.

Автор: esperant0 10.11.2006, 17:11
Цитата(alexeis1 @ 10.11.2006,  13:59)
  Без знания ассемблера сложно написать эффективный алгоритм, на любом из языков.  

Улыбнуло

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

Автор: BUGOR 10.11.2006, 17:17
Что значит эффективных? 

Автор: Alexeis 10.11.2006, 17:21
Цитата(BUGOR @  10.11.2006,  17:17 Найти цитируемый пост)
Что значит эффективных?  

Те, которые дают нужный результат и при этом рационально расходуют системные ресурсы.

Автор: skyboy 10.11.2006, 17:24
alexeis1, я видел людей, которые на Prolog'e(и LISP'e) пытались писать в императивном стиле... все вредное влияние изучения Pascal и C++  smile 

Автор: esperant0 10.11.2006, 17:27
Цитата(BUGOR @ 10.11.2006,  17:17)
Что значит эффективных?

В теории сложности, эффективныеми принято называть алгоритмы П-класса. Эксоненциальные алгоритмы принято считать не эффективными.

Кроме того иногда говорят, что алгоритм А эффективней алгоритма Б если А принадлежит классу  О-большое от Б.

Автор: Alexeis 10.11.2006, 17:40
Цитата(esperant0 @  10.11.2006,  17:11 Найти цитируемый пост)
надо знать теорию алгоритмов, а знание асемблера тут не причем. 


Цитата(alexeis1 @  10.11.2006,  13:59 Найти цитируемый пост)
написать эффективный алгоритм, на любом из языков
 Один и тот же алгоритм в разной реализации может требовать разных ресурсов. Да и просто, что построить алгоритм, его нужно строить для определенной (пусть и логической) машины, а тем более, когда идет речь об экстремальной оптимизации, например, под MMX, SSE, 3DNOW, так вообще непонятно, как это можно сделать без знаний ассемблера. Даже если, для реализации мы используем библиотеки, то мы должны представлять как растет время обработки в зависимости от входных условий. А для этого нужно хоть примерно понимать как же это все внутри реализовано. 
   К примеру, захотели построить некий алгоритм с линейным временем расчета используя некую неизвестную  функцию funct, а функция эта выполняет внутри нп полную задачу. И что? Алгоритм хорош, но работает он на практике *****. Теория теорией, а на практике далеко не все так красиво!

Автор: esperant0 10.11.2006, 17:51
Цитата(alexeis1 @ 10.11.2006,  17:40)
Цитата(esperant0 @  10.11.2006,  17:11 Найти цитируемый пост)
надо знать теорию алгоритмов, а знание асемблера тут не причем. 


Цитата(alexeis1 @  10.11.2006,  13:59 Найти цитируемый пост)
написать эффективный алгоритм, на любом из языков
 
1)Один и тот же алгоритм в разной реализации может требовать разных ресурсов.


 2)Да и просто, что построить алгоритм, его нужно строить для определенной (пусть и логической) машины

, а тем более, когда идет речь об экстремальной оптимизации, например, под MMX, SSE, 3DNOW, так вообще непонятно,
 как это можно сделать без знаний ассемблера. Даже если, для реализации мы используем библиотеки, то мы должны представлять как растет время обработки в зависимости от входных условий. А для этого нужно хоть примерно понимать как же это все внутри реализовано. 
  

4) К примеру, захотели построить некий алгоритм с линейным временем расчета используя некую неизвестную  функцию funct, а функция эта выполняет внутри нп полную задачу. И что? Алгоритм хорош, но работает он на практике *****. Теория теорией, а на практике далеко не все так красиво!

1) А может и не требовать. Все известные модели детерменистических машин тьюринга эквивалентны в классе полиномиальной сложности.


2)Машина тьюринга вполне достаточно. Но удобней рассмотреть м.т с random acsess memory.

3)

4) Все там выше сказанное не как не выделяет ассемблер по сравенению с другим эквивалентным языком.

Автор: nerezus 10.11.2006, 17:52
Ну и какой нафиг асм для пхп нужен? ))

Давайте отдельную тему потом для асма заведем =))

Автор: Exception 10.11.2006, 18:04
Цитата(Sartorius @  10.11.2006,  12:41 Найти цитируемый пост)
Я б сказал, что нужно знать С.


Почему? Ты не поймёшь ни единого примера ООП на C#/Java, зная один лишь C.

Цитата(slav0nic @  10.11.2006,  12:41 Найти цитируемый пост)
темболее ООП везед разное 


Одинаковое оно везде smile . Синтаксис учится за пять минут в простейшем случае.

Добавлено @ 18:06 
Цитата(alexeis1 @  10.11.2006,  14:59 Найти цитируемый пост)
В любом случае нужно знать хоть один классический язык. С, pascal, Assembler. Особено хорошо, если знать хоть самые основы Ассемблера, для понимания того "как это все работает". Если не изучать ассемблера, то хотя бы С или на крайний случай Паскаль. Без знания ассемблера сложно написать эффективный алгоритм, на любом из языков. Так что С++ можешь ты не знать, но ассемблер обязан. 


А я-то думал, процент прикладных программ и соответствующих вакансий на рынке превышает проуент тех, где необходимо знать, как эффективно выполнять алгоритмы.

Автор: Alexeis 10.11.2006, 18:25
Цитата(nerezus @  10.11.2006,  17:52 Найти цитируемый пост)
Ну и какой нафиг асм для пхп нужен? ))

А что скрипты ПХП в конечном итоге не выполняет процессор? Или они выполняются сами по себе. Что писать хороший код нужно представлять сколько времени он будет считаться и каких ресурсов требует. Сервер тоже не резиновый, если его всякой бякой забрасывать, то он не сможет обслуживать всех клиентов. Как вы думаете почему задержка между поисками по форуму аж 20 секунд А? 
  Без оценки времени исполнения определенных операций, можно такое нагородить! Никто же не требует на нем кодить! Его нужно знать для глубокого понимания реализации тех или иных операций. 
Потому, в паскале есть "бесполезные" функции inc(), dec(), FillChar(), Move() и т.д. Потому написали функцию поиска в строках posEx, которую легко можно заменить функциями copy() и pos(), но разница разительная!
  Даже два линейных алгоритма могут выполняться, один за 2 минуты, другой за 2 секунды, при определенных условиях! Можно изобретать супер алгоритмы вычисления корня, и потратить на это месяцы, так и не поняв, что невозможно его расчитать быстрее определенного интервала, времени, который задает машина, а можно сделать просто таблицу и не терять время на извращеные алгоритмы. 
Ассемблер позволяет другими глазами смотреть на реализацию.

Автор: Nastya 10.11.2006, 18:32
Цитата

я видел людей, которые на Prolog'e(и LISP'e)

А я не знакома ни с одним человеком, который бы писал на прологе и лиспе :'(

Автор: nerezus 10.11.2006, 18:38
Цитата

А что скрипты ПХП в конечном итоге не выполняет процессор? Или они выполняются сами по себе. Что писать хороший код нужно представлять сколько времени он будет считаться и каких ресурсов требует. Сервер тоже не резиновый, если его всякой бякой забрасывать, то он не сможет обслуживать всех клиентов. Как вы думаете почему задержка между поисками по форуму аж 20 секунд А? 
 У какое отношение имеет асм ко всему этому?

Цитата

Потому, в паскале есть "бесполезные" функции inc(), dec()
 Ну и чем отличается 
Код
 inc(a) 
 от  
Код
a := a + 1;
 кроме удобства?
Только вот не забывай про оптимизацию компилятора.

Автор: Alexeis 10.11.2006, 23:30
Цитата(nerezus @  10.11.2006,  18:38 Найти цитируемый пост)
Только вот не забывай про оптимизацию компилятора.

 smile - это зависит от компилятора. В турбо паскале сомневаюсь, что она была. 

Автор: nerezus 10.11.2006, 23:43
alexeis1, а кто пишет свои проекты на турбопаскале?

Автор: skyboy 10.11.2006, 23:43
Цитата(Nastya @  10.11.2006,  17:32 Найти цитируемый пост)
А я не знакома ни с одним человеком, который бы писал на прологе и лиспе :'( 

профессионально? а загляни в раздел... а если - "просто пишут",  то давай знакомиться smile

Автор: Alexeis 10.11.2006, 23:56
nerezus, это здесь не суть вопроса. А суть в том, что нужно понимать, что ты используешь и как оно работает. smile 

Автор: Romikgy 11.11.2006, 00:12
имхо не корректный спор, все зависит от задачи, которую требуется реализовать, а на каком языке , это второй вопрос, главное реализовать!

Автор: Alexeis 11.11.2006, 01:21
Romikgy, как я понял С++ рекомендуют учить в любом случае, вне зависимости от того на чем будешь программить. Типа С++ это основа синтаксиса большинства языков.

Добавлено @ 01:30 
Я считаю, что синтаксис учится за пару месяцев, а намного важнее понимать как работают все внутренние механизмы. Тот кто поймет ассемблер ИМХО поймет потом любой высокоуровневый язык. Помню когда нам, наконец начали его читать, я не мог сдержаться, чтоб не открыть учебник и не читать дальше, дальше, дальше. Конечно, программирование на нем не сахар, зато, что называется полный контроль над ситуацией. Нет недопониманий. Все четко. В спорных ситуациях он как судья показывает, где неправда, а где истина. 

Автор: angus 11.11.2006, 05:44
я считаю что :
1) delphi и c++ - прошлое (хоть я и начинал с них), будущее за java или за .net (время покажет),
2) так как я прошел путь  c, pascal,asm,c++,delphi,java(я имею ввиду что писал код на них, а неразбираюсь професионально)  - то считаю что учить например  сначала C++ а потом Java - дело гиблое, сам переход не очень простой.не обязательно учить c++ чтоб понять суть OOП.
3) если сравнивать C и Java то ето вообще абсурд, С- используется для написания драйверов, системных фишек.а в Java опять же своя роль ...тут надо определить роли каждого языка и особенности которых нет в других.

Автор: esperant0 11.11.2006, 08:32
Цитата(alexeis1 @ 11.11.2006,  01:21)
  Тот кто поймет ассемблер ИМХО поймет потом любой высокоуровневый язык.  

Нет не верно.

Есть примеры знающих превосходно асемблер, и не понявших С++.

ИБо упомянутой вами связи не существует

Автор: nerezus 11.11.2006, 09:16
Цитата
c++ - прошлое

Ну вот например расширение интерпретируемого языка. Extensions. Это только C и С++.
Геймдев: C++, хотя теперь и на дотнете стало возможно, но.... В геймдеве разница в скорости в пару процентов уже существенна.

Цитата
если сравнивать C и Java то ето вообще абсурд
 А никто и не сравнивает, т.к. все знают, что абсурд.

Ну и дальше: возьмем книги по технологиям, по рефакторингу, по ООП, по паттернам.....
На чем примеры? На C++ и джаве. (Ну это практически всегда)

P.S. Мне самому ОЧЕНЬ не нравятся C и C++, но первый я знаю, а второй практически доучил =)

Автор: BUGOR 11.11.2006, 12:56
Ну смешали всё в кучу, раз уж начали разговор о прикладных языках, так давайте не будем съезжать на скриптовые. Пхп кодеру ассемблер не слишком нужен, это ессно.

esperant0
Цитата

Нет не верно.

Есть примеры знающих превосходно асемблер, и не понявших С++.

ИБо упомянутой вами связи не существует


Ассемблер нужен любому программисту, т.к. знание архитектуры ПК отличает профессионала от пользователя, возомнившего себя программером после краткого курса ЯВУ. (С) Не помню.


Автор: Romikgy 11.11.2006, 13:55
Цитата(angus @  11.11.2006,  04:44 Найти цитируемый пост)
будущее за java или за .net (время покажет),

имхо нет, это примочки майкрософта, а на никсах этой хрени нет , так что С++ точно жить будет долго!!!
Да вобще проги написаные на С++ и Дельфи работают быстрее чем на Java & .Net (имхо почему понятно )

Автор: Alexeis 11.11.2006, 22:00
Цитата(esperant0 @  11.11.2006,  08:32 Найти цитируемый пост)
Нет не верно.

Есть примеры знающих превосходно асемблер, и не понявших С++.

ИБо упомянутой вами связи не существует 

С каких пор пример нескольких людей говорит о верности того или иного утверждения. 
Если для 100000 это будет правда, а для 10 человек нет, что на этом основании можно говорить, что утверждение неверно? Несколько человек это слишком маленькая выборка, чтоб ее считать достоверной. Дайте результат опроса хотя бы 500 программистов изучавших С++ после ассемблера. Классику надо всегда знать. Это все равно как сказать, что роман "Война и мир" написан давно и потому не актуален, а значит нафиг его читать. Или сказать, что Бетховен безнадежно устарел smile и потому не популярен. Так и тут, программировать никто не обязывает, но знать очень полезно.

Автор: nerezus 12.11.2006, 10:29
alexeis1, ну ладно, человек, только что отписавшийся перед тобой(BUGOR), знает асм и не знает С++ и ООП. И я считаю, что таких именно большинство.

Автор: Romikgy 12.11.2006, 11:15
Цитата(nerezus @  12.11.2006,  09:29 Найти цитируемый пост)
ну ладно, человек, только что отписавшийся перед тобой(BUGOR), знает асм и не знает С++ и ООП. И я считаю, что таких именно большинство. 

и что этим nerezus сказать то хотел?

Автор: nerezus 12.11.2006, 11:21
Romikgy
Цитата

Тот кто поймет ассемблер ИМХО поймет потом любой высокоуровневый язык.  



Цитата

имхо нет, это примочки майкрософта
 Ну это дотнет. А джава?

Автор: Romikgy 12.11.2006, 12:08
Цитата(nerezus @  12.11.2006,  10:21 Найти цитируемый пост)
А джава?

а что джава?

Автор: nerezus 12.11.2006, 13:12
Romikgy,  ну вот ты ответил:
Цитата

Цитата

будущее за java или за .net (время покажет),

имхо нет, это примочки майкрософта, а на никсах этой хрени нет , так что С++ точно жить будет долго!!!
Да вобще проги написаные на С++ и Дельфи работают быстрее чем на Java & .Net (имхо почему понятно )

Ну так вот: M$ к джаве никакого отношения не имеет(ну кроме неудачной попытки сделать свою JVM), и джава под никсами пашет идеально.
Тем более в отличии от, она кроссплатформенна.  И активно развивается.

Автор: Alexeis 12.11.2006, 13:49
Цитата(nerezus @  12.11.2006,  10:29 Найти цитируемый пост)
alexeis1, ну ладно, человек, только что отписавшийся перед тобой(BUGOR), знает асм и не знает С++ и ООП. И я считаю, что таких именно большинство. 

Зато он неплохо знает Delphi - это уж точно! Что С++ единственный высокоуровневый язык? Может у него не было такой необходимости изучать С++.
  Не надо путать "не сумел изучить" с "не хотел изучать". Причин может быть много разных, из них "не способность" мне кажется самой маловероятной.

Автор: esperant0 12.11.2006, 15:07
Цитата(alexeis1 @ 11.11.2006,  22:00)
С каких пор пример нескольких людей говорит о верности того или иного утверждения. 
и

С времен аристотеля.

высказыванике каждый х он ф(х)  верно если не существует х который не ф(х).


Логика сила.

Добавлено @ 15:10 
Цитата(alexeis1 @ 12.11.2006,  13:49)

  Не надо путать "не сумел изучить" с "не хотел изучать". Причин может быть много разных, из них "не способность" мне кажется самой маловероятной.

Мне не способность кажется не маловероятная, и мои измышления основываются на 5 летнем опыте преподавания на кафедрах: информатики, математики , статистики

Автор: nerezus 12.11.2006, 15:26
esperant0, а как согласуются способность изучить ООП и способность изучить асм?
Мне кажется, что только как "способность изучить", т.е. просто сила воли. Ибо предметы эти никак не согласуются и не имеют ничего общего.

Автор: Romikgy 12.11.2006, 15:30
nerezus, гуд убедил , насчет джавы забираю свои слова!

Цитата(nerezus @  12.11.2006,  12:12 Найти цитируемый пост)
И активно развивается. 

чесно , чет не видно 

Автор: esperant0 12.11.2006, 15:38
Цитата(nerezus @ 12.11.2006,  15:26)
esperant0, а как согласуются способность изучить ООП и способность изучить асм?
Мне кажется, что только как "способность изучить", т.е. просто сила воли. Ибо предметы эти никак не согласуются и не имеют ничего общего.

Как они согласуются тяжело сказать. Связь есть. Но нету связи которая упоминалось: любой кто выучит АСемблер способен выучить С++. Сие как показвает жизнь не правда.

Хотя наверное если человек знает ассемблер то вероятность что он знает С++ большее, чем верооятность что человек не знающий асемблер знает С++

Автор: nerezus 12.11.2006, 16:15
Цитата

чесно , чет не видно 
 Скачай джаву 1.6 ) Сейчас она еще в бете(beta2), но... работа вроде идет полным ходом... и сравни ее с самой первой джавой. Сравни релизы c разными циферками в минорной версии.

Цитата

Хотя наверное если человек знает ассемблер то вероятность что он знает С++ большее, чем верооятность что человек не знающий асемблер знает С++
 
У нас в группе 20 человек знает С++(десяток его знает довольно хорошо  smile  ), но вот ассемблер не знает никто(ну кроме пары человек, но тут только самые основы).

Автор: Dude03 12.11.2006, 16:24
По сабжу:
"Язык не цель smile  - это средство"!!! Важно не язык, а принцип ООП.
Язык это просто слова, а вот написание программ используя ОПП отличается от процедурного написания.
Цитата(BUGOR @  11.11.2006,  12:56 Найти цитируемый пост)
Ну смешали всё в кучу, раз уж начали разговор о прикладных языках, так давайте не будем съезжать на скриптовые. Пхп кодеру ассемблер не слишком нужен, это ессно.

esperant0
Цитата

Нет не верно.

Есть примеры знающих превосходно асемблер, и не понявших С++.

ИБо упомянутой вами связи не существует


Ассемблер нужен любому программисту, т.к. знание архитектуры ПК отличает профессионала от пользователя, возомнившего себя программером после краткого курса ЯВУ. (С) Не помню.

Опредились с понятиями "кодер" и "программист"!

Автор: Alexeis 12.11.2006, 17:04
Цитата(esperant0 @  12.11.2006,  15:07 Найти цитируемый пост)
Мне не способность кажется не маловероятная, и мои измышления основываются на 5 летнем опыте преподавания на кафедрах: информатики, математики , статистики


Ну и что, как говорит опыт? 
Выходит, что если взять 10 человек знающих ассемблер и 10 человек не знающих его и обучать одинаково и тех и других, то те кто не знают ассемблера быстрее,  легче и лучше изучат С++? 
По моему это бред.

Если и с этим вы не согласны, то доказывать что-то дальше я думаю просто бессмысленно. 

Автор: Romikgy 12.11.2006, 17:31
Цитата(nerezus @  12.11.2006,  15:15 Найти цитируемый пост)
 Скачай джаву 1.6 ) Сейчас она еще в бете(beta2), но... работа вроде идет полным ходом... и сравни ее с самой первой джавой. Сравни релизы c разными циферками в минорной версии.

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

Автор: BUGOR 12.11.2006, 17:35
Dude03
Цитата

Опредились с понятиями "кодер" и "программист"!


Чего чего?smile) Почему это адресовано мне и какое это вообще имеет значение в контексте данной темы? 

Автор: nerezus 12.11.2006, 17:58
Цитата

Пхп кодеру ассемблер не слишком нужен, это ессно.
 
Цитата

Ассемблер нужен любому программисту, т.к.


Автор: BUGOR 12.11.2006, 18:18
А чем отличаются понятия "кодер" и "программист", только лишь наличием диплома у второго? Так я могу кучу примеров привести, которые опровергают мнение о том, что дипломированный программист будет однозачно лучше подкован в своей области, нежели "кодер".

Автор: esperant0 12.11.2006, 18:31
Цитата(alexeis1 @ 12.11.2006,  17:04)
Цитата(esperant0 @  12.11.2006,  15:07 Найти цитируемый пост)
Мне не способность кажется не маловероятная, и мои измышления основываются на 5 летнем опыте преподавания на кафедрах: информатики, математики , статистики


Ну и что, как говорит опыт? 
Выходит, что если взять 10 человек знающих ассемблер и 10 человек не знающих его и обучать одинаково и тех и других, то те кто не знают ассемблера быстрее,  легче и лучше изучат С++? 
По моему это бред.

Если и с этим вы не согласны, то доказывать что-то дальше я думаю просто бессмысленно.

Я этим и не спорю, я не согласен с вашей гипотизой, Любой освоивший АСемблер освоит С++.


она не верна.

Автор: nerezus 12.11.2006, 19:42
Цитата

А чем отличаются понятия "кодер" и "программист", только лишь наличием диплома у второго? Так я могу кучу примеров привести, которые опровергают мнение о том, что дипломированный программист будет однозачно лучше подкован в своей области, нежели "кодер".
 Программист имхо - более общее понятие, объединяющее как кодера, так и девелопера. А еще тетеньки в офисах так сисадминов называют  smile 

Ну да ладно, тема не про это )

Автор: BUGOR 12.11.2006, 19:46
Цитата

 Программист имхо - более общее понятие, объединяющее как кодера, так и девелопера. А еще тетеньки в офисах так сисадминов называют 


А ещё так пишут в дипломах выпускников соответствующих учебных учереждений, которым до программистов, в твоём понятии, как пешком до Пекина. К тому же, где чётко сформулировано понятие кодер? Я всегда считал кодером - программиста самоучку.

Цитата

Ну да ладно, тема не про это )


Дейтсвительно, не будем спорить... 
PS Давно мы с тобой не спорили smile

Автор: nerezus 12.11.2006, 20:17
Ну вот, /me стал себя чувствовать ущербным, т.к. нихрена асма не знает )
Распечатал книгу Крупника, это которая в стиле "Язык ассемблера для детей дошкольного возраста".

Автор: Alexeis 12.11.2006, 21:55
esperant0, Ну хоть в чем-то мы сошлись smile 
При изучении ассемблера человек знакомится с работой оборудования, с реализацией тех или иных операций при помощи низкоуровневых операторов. Видит в каком виде программа поступает  в процессор. Узнает за сколько тактов выполняются операции. Для написании программ на ассемблере нужно правильно и четко организовывать работу, структурировать, делать логические блоки. Это связано с тем, что операция, которая на С++ может быть записана в одну строчку, на ассемблере может занимать десятки строк. При этом необходимо четко понимать, что и как делает каждый участок. 
  Языки высокого уровня позволяют писать небольшие программы ввиде нагромождения операторов и вызовов функций, плохо скомпанованных логически и структурно. Так это и выходит обычно у начинающих программистов. На ассемблере, очевидно, много кода так не напишешь. Аналогичная программа будет в разы больше по объему. Т.е. тут старание, терпение и правильное мышление должно развиваться намного быстрее. Как мне кажется причиной того, что связь не наблюдается никак не может быть неспособность. Т.е. что я хочу сказать. Художника несложно переучить в маляра, а вот маляра в художника намного сложнее. Изучивший С довольно легко справится с Бейсиком, так как тот позволяет те же вещи делать проще, и при этом теряет в функционале, различия, конечно есть, но суть остается. Аналогично С++ имеет меньше функционала по сравнению с Ассемблером и реализация многих вещей проще. Или еще аналогия, покоривший Эверест сумеет покорить и Говерлу. Возможно, он не захочет ее покорять, но потенциально он на это способен.

Что из этого вызывает сомнение? 

Автор: nerezus 12.11.2006, 22:17
Цитата

Аналогично С++ имеет меньше функционала по сравнению с Ассемблером
 Про ООП не стоит забывать ;)

Автор: Dude03 12.11.2006, 22:24
Кожу(именно это слово) примерно полгода. Начинал с Си(с примесью си++, но без ооп). Просто все фенечки ООП в моих программах излишни smile .
После изучения ассемблера мой взгляд на работу программы просто изменился=))) Раньше я думал что некий хитрый механизм "убивает" локальные переменные=))) ну и многие другие мелочи мне казались "темным лесом". С изучением ассемблера просто меняется взгляд на вещи(в лучшую сторону меняется smile ) 

Автор: Alexeis 12.11.2006, 22:55
Цитата(nerezus @  12.11.2006,  22:17 Найти цитируемый пост)
Про ООП не стоит забывать ;) 

Если говорить про функционал, то ООП можно и на ассемблере реализовать. В конце концов, ООП это же не идеи искуственно введенные в язык. ООП это принципы программирования, которые гармонично вписываются в развитие программирования,  для возможности грамотного проектирования больших приложений. ООП это больше принципы структурирования нежели набор операторов и синтаксических конструкций. Если в программе на С++ используются объекты, то это еще не значит, что она сделана по принципам ООП. ООП подразумевает особую систему построения приложения и взаимодействия ее структурных элементов. 

Цитата(Dude03 @  12.11.2006,  22:24 Найти цитируемый пост)
Просто все фенечки ООП в моих программах излишни smile .
 Они излишни до поры до времени, пока объем программы не превысит определенного предела, после которого ее написание станет слишком дорогим из-за неэффективно используемого рабочего времени программиста. 

Автор: nerezus 12.11.2006, 22:58
Цитата

о ООП можно и на ассемблере реализовать
 и на джаве драйвера можно писать. Но почему-то их на джаве никто не пишет )

Автор: angus 12.11.2006, 23:05
Цитата(Romikgy @  12.11.2006,  15:30 Найти цитируемый пост)
чесно , чет не видно  


ну извини - java + развитие j2ee технологий ето что-то.
для java уже стока всякого что неуспеваеш у пощупать.

Добавлено @ 23:16 
Цитата(Romikgy @  11.11.2006,  13:55 Найти цитируемый пост)
Да вобще проги написаные на С++ и Дельфи работают быстрее чем на Java & .Net (имхо почему понятно ) 


1) времена C++ и Delphi скоро пройдут.C++ будет использоваься разве для апаратно-, ос-зависемых частей.
Дельфа - вообще непонятно почему она еще жива.

2)вопрос на счет скорости выполнения - уже прошли ети времена.

[P.S.]
а ваабще я считаю С++ неким ассемблером ООП языков(канешно я немнго загнал, но смысл понятен).

Автор: Romikgy 13.11.2006, 14:20
Цитата(angus @  12.11.2006,  22:05 Найти цитируемый пост)
времена C++ и Delphi скоро пройдут

будешь долго ждать
Цитата(angus @  12.11.2006,  22:05 Найти цитируемый пост)
Дельфа - вообще непонятно почему она еще жива.

у мя сложилось впечатление что ув. angus не знает что есть дельфи (его достоинства и недостатки), если я прав, тогда спор бессмысленен!

Цитата(angus @  12.11.2006,  22:05 Найти цитируемый пост)
вопрос на счет скорости выполнения - уже прошли ети времена.

имхо никогда эти времена не пройдут , ибо си и дельфи делают код без прослоек!
Цитата(angus @  12.11.2006,  22:05 Найти цитируемый пост)
ну извини - java + развитие j2ee технологий ето что-то.
для java уже стока всякого что неуспеваеш у пощупать.

а если не извеню  smile 
я не джавист и для меня это высказывание 0.
более конкретнее, плз
Цитата(angus @  12.11.2006,  22:05 Найти цитируемый пост)
а ваабще я считаю С++ неким ассемблером ООП языков

имхо мнение ошибочно , по крайней мере очень не точно!

Автор: Любитель 23.12.2006, 18:29
Цитата(Romikgy @  13.11.2006,  14:20 Найти цитируемый пост)
 ваабще я считаю С++ неким ассемблером ООП языков

Ерунда полная. ООп-шный ассемблер - это IL и байт-код явы. В плюсах всё же даже ООП несколько своё.

Автор: Romikgy 23.12.2006, 18:43
Любительsmile опомнился ....

Автор: VectorMan 23.12.2006, 19:02
Соглашусь с alexeis1.
Нужно понимать ассемблер так так это ключ к пониманию устройства компьютера и принципов его работы

з.ы. тему уже можно переименовывать в "Нужен ли каждому программисту Asm?"  smile 

Автор: nerezus 23.12.2006, 20:54
По теме(среди оффтопа): для себя определился, что мне С++ не нужен: синтаксис знаю, ну и хватит.
А вот джаву стал копать.

Автор: Любитель 24.12.2006, 10:47
Romikgy, только увидел - сразу встал на защиту  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)