
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
Выбор языка программирования.
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
Опции темы |
|
|
#31 | |
|
взрываю мозг
Сообщений: 3,568
Регистрация: 07.05.2003
|
Цитата:
![]() по теме: имхо сначала нужно разобраться в алгоритмах и структурах данных и научиться самому их разрабатывать. Паскаль для этих целей неплохо подходит. И как говаривал один препод - уметь писать на одном языке программирования - то же самое, что уметь писать шариковой ручкой. Научиться писать гелевой или перьевой будет уже не сложно))) |
|
|
|
|
#32 | |
|
взрываю мозг
Сообщений: 3,568
Регистрация: 07.05.2003
|
Цитата:
![]() Наверное когда появлялись первые ассемблеры, программисты тех времен тоже считали что это нововведение унылое говно и ниразу не труЪ)) |
|
|
|
|
#33 |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Ассемблер, да будет вам известно - это символический машинный код, т.е. то что напрямую преобразуется в команды конкретного процессора, т.е. самый нижний уровень.
|
|
|
|
#34 |
|
взрываю мозг
Сообщений: 3,568
Регистрация: 07.05.2003
|
спасибо, что просветили. А мужики то не знают (с)
непонятно только, где это я утверждал обратное, что вы непременно решили меня "поправить". Последний раз редактировалось SuHar`; 23.06.2010 в 22:30. |
|
|
|
#35 |
|
Форумец
Сообщений: 28
Регистрация: 21.04.2010
|
Успокойтесь, старттопикера уже давно тут нет. Скорей всего он вообще сбежал нахер с фкн и теперь пойдет на эконом )))
Пхп это вроде серверсайд, который исполняется в момент обращения пользователя. Тобишь транслятор работает на различных железках, он как то распараллеливает нагрузку, наверняка есть какой то кэш обращений, что бы не генерить по сто раз одну index.php и т.д. и т.п., я не знаю - мне хп на пхп и веб программистов. Но если писать настоящий проект (с высокой нагрузкой и требованиями к безопасности, с бд и т.д.) все проблемы транслятора - это твои проблемы, ты их должен знать, понимать и уметь обходить в рамках представленных инструментов. Я знаю, что чтобы разобраться в таких аспектах, мне понадобиться времени в х раз меньше, потому что я могу проследить эти проблемы до самых корней. И на стадии проектирования проекта я уже разберусь с синтаксисом и всеми аспектами пхп, как со своим родным. То, что там на коленке лобают "веб программисты" – это не софтдеволпмент, это народное творчество. И кто не имеет этой базы - тупо будет заучивать, как собачка Павлова. Увидел ситуацию - рефлекс сработал, вышла новая версия пхп - все рефлексы устарели. Перестали в инете пхп пользовать - идешь охранником в супермаркет. Как показывает практика, у нас очень мало программистов и куча разного самодовольного говна, от которого толку – ноль. Только разговоров было, что российская школа программистов, российская школа программистов и где она? У немцев доля софтдевелопмента в ВВП больше чем машиностроение. У амеров, канадцев, швейцарцев - все идет в гору и страны зарабатывают львиную долю ВВП уже на продаже "интеллектуальной" собственности. Мы все нефть качаем и гордимся нашей системой образования. |
|
|
|
#36 |
|
Out There
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47
|
Ассемблер вовсе не является необходимым знанием для успешного программирования. Он помогает, но нужен далеко не всем. Прикладникам и неизвестным тебе веб-программистам, людям, пишущим переносимый код, всяческим шарпистам и прочим дотнетчикам знание асма вообще ничего не даст, а только будет лишним грузом.
Более того, даже системщикам асм знать необязательно, достаточно хорошо знать архитектуру программируемого процессора/контроллера. По крайней мере, до тех пор, пока в нем (асме) не возникнет реальная нужда. Будешь писать свой транслятор пхп? "Мамы всякие нужны, мамы всякие важны" Никто не поручит разработку челу, который вместе с, собственно, проектом придумает новый язык, напишет для него компилятор и сделает ось, в которой это все будет работать. Потому что это нафиг никому не нужно. |
|
|
|
#37 | |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Цитата:
Ассемблер на самом деле неплохо бы знать вообще всем, кто хоть что-то разрабатывает. Даже 1С-никам))) А сама по себе архитектура в отрыве от знания того как она работает не даст ничего))) При чем тут переносимый код - не понимаю))) Даже между процессорами cisc и risc архитектур общего больше чем различного))) |
|
|
|
|
#38 |
|
Out There
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47
|
Знание архитектуры - это и есть знание о том, как она работает. Можно не знать асм, однако знать , как все работает. И вообще, что значит "знать асм"? Знать наизусть все мнемоники? Или уметь писать на асме? Или знать пару-тройку, утрированно, мнемоник, которые чаще всего в дизассемблере попадаются?
При том, что переносимому коду накласть на архитектуру. Потому он и переносимый. А можно личный вопрос? Чего ты смеешься все время? Нездорово как-то выглядит... |
|
|
|
#40 | ||
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Цитата:
Вообще это и зная ассемблер достаточно сложно, если по секрету))) Цитата:
Вот именно об этом я и говорю - Вы НЕ ПОНИМАЕТЕ как Ваш код работает, оттого и такие рассуждения. Просто не понимаете что вообще творите))) |
||
|
|
|
#41 |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
|
|
|
|
#44 |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Как раз наоборот, чем сложнее система, тем меньше доверия оптимизирующему компилятору))) И если ключевые алгоритмы (обычно они занимают менее чем экран кода на С) переписать на ассемблере с учетом архитектуры конкретного процессора, можно добиться увеличения производительности порядка 1000%)))
|
|
|
|
#45 |
|
старый хрыч
Сообщений: 6,334
Регистрация: 17.12.2006
Возраст: 38
|
то то халф лайф 2 не могут на линух портировать, хорошо они в математической либе с асмом поиграли.
не голословные примеры будут? |
|
|
|
#46 | |
|
Форумец
Сообщений: 1,857
Регистрация: 25.06.2007
Возраст: 34
|
Цитата:
|
|
|
|
|
#48 | |
|
бибизьян
Сообщений: 3,020
Регистрация: 17.02.2004
|
Цитата:
|
|
|
|
|
#49 | |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Цитата:
Отладка экрана кода может занять и месяц, при этом при всем, но если это правильно выбранный ключевой алгоритм - то это может ускорить всю программу в разы. Для того чтобы определить - какой алгоритм является ключевым есть профайлеры))) Чтобы понять - что с этим делать - есть официальные руководства от производителей процессоров. Все решаемо
|
|
|
|
|
#51 |
|
Форумец
Сообщений: 612
Регистрация: 14.05.2008
Возраст: 42
|
Как-то непонятно, да согласен что официальные разработчики компиляторов и еже с ними другого софта - не самые умные люди на земле, но лезть туда где работала группа людей, тем более имеющих вес в области разработок и не один год обычно, это как-то слишком самоуверенно, да и к тому же разработка софта это все-таки получение прибыли в первую очередь (не будем считать редких альтруистов), а если вы будете настолько углубляться в процессе разработки, то интересно какова рентабельность вашей работы будет?
|
|
|
|
#52 |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Моего кода? Нет, конечно, весь код, который я оптимизировал на ассемблере является частью реальных коммерческих продуктов. Для души я этим никогда не занимался, это не самое увлекательное занятие.
|
|
|
|
#53 | |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Цитата:
Цикл от 5 до 1 for (i=5; i>0; i--) работает быстрее чем цикл от 1 до 5 for (i=1; i<=5; i++) , потому что команда проверки содержимого регистра на ноль работает быстрее чем команда сравнения с ненулевым числом (на самом деле даже не одна команда), знать о таких вещах можно только если знаешь ассемблер. И если тело цикла невелико, а итераций достаточно много, то это может дать запросто 25% прироста. Это в качестве простейшего примера. И никакой компилятор за тебя цикл не "перевернет". Т.е. иногда достаточно просто знать ассемблер, даже не писать на нем и программа будет работать быстрее))) |
|
|
|
|
#55 |
|
бибизьян
Сообщений: 3,020
Регистрация: 17.02.2004
|
Spectator не позорьтесь, то что вы пишете про циклы - это даже не вчерашний день...
Зайдите на сайт Intel-а и почитайте про технологии Interprocedural Optimization, High-Performance Parallel Optimizer, Auto-vectorization и т.д.. Я уж не говорю про специализированные библиотеки для тяжелых расчетов. А еще лучше скачайте там же демо версию компайлера Intel C++ и посмотрите на код, который он сгенерит. |
|
|
|
#57 | |
|
Форумец
Сообщений: 44,418
Регистрация: 27.05.2003
Возраст: 47
|
Цитата:
|
|
|
|
|
#59 | |
|
Fun-Da-Mental
Сообщений: 201
Регистрация: 08.04.2005
|
Цитата:
в большинстве реальных задач алгоритмическая оптимизация редко бывает необходимой, если не рассматривать уж случаи откровенного тупняка. основные потери в сложных приложениях возникают не изза компилятора, а по более высокоуровневым причинам: тупо ждем ио 99% времени, кривой контекст свитчинг, дофига сисколлов, livelocks, и тп. и проблемы эти актуальны как для тех кто на асме пишет, так и для тех кто пишет на Java. |
|
|
|
|
#60 | |
|
взрываю мозг
Сообщений: 3,568
Регистрация: 07.05.2003
|
Цитата:
а вообще что-т флуд и оффтоп пошел. надо бы закругляться. |
|
|