Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Как нужно программировать


  • Авторизуйтесь для ответа в теме
133 ответов в теме

#41
tes3

tes3

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 37 сообщений
0
  • EVE Ingame:ebaut
  • Corp:Wayfarers guild
  • Ally:Cyberdune System Alliance
ккригер основан на графических библиотеках directX, и его размер вовсе не показатель качества :)
с таким то расходом оперативы :)
  • 0

#42
Ariru

Ariru

    Доктор фаллометрических наук

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4506 сообщений
363
  • EVE Ingame:Ariru
  • Corp:.FE.
  • Channel:EVE Flight School
  • Client:Eng
вау ты нас всех просвятил!
  • 0
Изображение
?

#43
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28746 сообщений
4395
Вот если бы я мог в пустую х86 машину вставить дискету, на которую записано 97кб, и поиграть в этот ккриегер - да, это было бы шикарно.
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#44
antonn*Нейтрал

antonn*Нейтрал
  • Guests

с таким то расходом оперативы

нормальный расход оперативы, там текстуры генерятся отнюдь не 256*256 :lol:
  • 0

#45
z4gnom

z4gnom

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2061 сообщений
683
  • EVE Ingame:Exclipt
  • Corp:RTSQ
  • Ally:The Afterlife.
  • Client:Eng

нормальный расход оперативы, там текстуры генерятся отнюдь не 256*256 :lol:

ну это не повод оперативу засерать :)
  • 0
Darkness.. You afraid? I'm not. Darkness afraid of me.

#46
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng

Что слишком? Тебе привели уже один из примеров, где язык высокого уровня лучше чем асм за счёт распараллеливания.

простите, а что вы подразумеваете под распараллеливанием? видимо явно не разгрузку работы по тредам, оно то в асме делается столь-же тривиально, как и в любом другом языке программирования, а-ля ... call CreateThreadEx и тд

Нет, ну ты правда думаешь, что (пусть ты изучил бы там асм до конца под процессор) асилишь трансляцию с функцинального языка SQL в ассемблер? А не надорвёшься? :lol:

"изучение до конца" требуется для расчистки ботлнеков. e.g. если не знать о механизме работы процессора - разворачивание циклов может показаться сущим бредом.
и что энто еще за "трансляция с sql в асм"?
видимо ты имеешь ввиду написание самого сервера? таки парсинг sql запросов - это мелочь, а самое интересное там в построении эффективного механизма работы с базой и опять-таки расчистке узких мест.
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#47
Pointer

Pointer

    Clone Grade Nu

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8852 сообщений
2003
  • EVE Ingame:Zleus
  • Client:Eng

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

Ты не так понял.
SQL server это среда.
Я пишу в этой среде запрос на функциональном языке sql.
Этот запрос может быть простой на несколько строчек и на его написание мне потребуется несколько минут.
А может быть на несколько десятков или сотен строчек и я затрачу на него несколько часов.

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

Еще небольшое дополнение.
Когда человек пишет какую-то программу, алгоритм, он думает последовательно. Сначала делаем это, затем вот это и так далее.
Но когда человек использует для этого функциональный язык, с его особенностями, то при запуске этой программы среда смотрит и видит, ага, вот эти надцать кусочков я могу выполнить параллельно, мне нет нужды ждать завершения одного, чтобы выполнить другое.
И распараллеливает.
А чтобы делать то же самое на асме, писать ассемблерный код с высокой степенью параллелизма надо иметь слоновью голову и жить в дурке.
:)
Сейчас для домашних компов это не так актуально, а вот лет через 5, когда в процессоре будет не 2-4 ядра, а по сто ядер, тогда разговоров про быстрый ассемблер будет намного меньше.
:)

Сообщение отредактировал Pointer: 15 January 2009 - 4:28

  • 0

#48
antonn*Нейтрал

antonn*Нейтрал
  • Guests

SQL server это среда.
Я пишу в этой среде запрос на функциональном языке sql.
Этот запрос может быть простой на несколько строчек и на его написание мне потребуется несколько минут.
А может быть на несколько десятков или сотен строчек и я затрачу на него несколько часов.

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

совершенно не факт, пролететь в типизированном файле с заранее сформироваными условиями "выборки" - не проблема, но в отличии от sql-парсера не тратится время на сам парсинг и сопроводительные операции.
Вообще не пойму, причем тут асм и скуель, первое - низкоуровневое программирование, второе - "макросничество", выполняемое некой программой. Пример странный, предлагается написать сам сервер на асме?

И еще столько же, чтобы переписать под другую железку, с другим процессором и другим количеством ядер.

а мы будем писать с учетом специфики IA-32 и не париться такими вопросами :lol:
  • 0

#49
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng

...

я те про фому, ты мне про ерему.
я понимаю что ты имеешь в виду - язык более высокого уровня обеспечивает большую функциональность при меньших трудозатратах - это и есть определение уровня языка. но где та "ущербность" асма?
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#50
Ariru

Ariru

    Доктор фаллометрических наук

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4506 сообщений
363
  • EVE Ingame:Ariru
  • Corp:.FE.
  • Channel:EVE Flight School
  • Client:Eng
хватит говорить умными словами!
  • 0
Изображение
?

#51
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng
иди куте ушки крути
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#52
Pointer

Pointer

    Clone Grade Nu

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8852 сообщений
2003
  • EVE Ingame:Zleus
  • Client:Eng

совершенно не факт, пролететь в типизированном файле с заранее сформироваными условиями "выборки" - не проблема, но в отличии от sql-парсера не тратится время на сам парсинг и сопроводительные операции.

Я не про тривиальный селект, в котором и распараллеливать нечего, а про замороченый запрос с подзапросами. И выборка не из типизированого файла, а из орокловых, или mssql-ных баз данных. Или из их кеша - вдруг данные горячие и нет нужды за ними лезть в файлы? :lol:
И не мешая другим пользователям.
И... да сам дальше придумай. :)

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

Хорошо, скажу проще.
Тем, что на асме ты пишешь под определенную железку. И если я завтра заменю процессор на новый, у которого будет в 10 раз больше ядер, но частота вдвое меньше, то программа на асме будет работать медленнее, а хорошо распараллеливаемый код на функциональном языке будет работать в 5 раз быстрее, т.к. среда выполнения сгенерирует новый процессорный код на его основе.
Почти не в тему, но зато простым языком и с примерами и про мой любимый жабаскрипт :):
А ваш язык программирования так может?


зы: и да, sql сложно назвать чисто функциональным, тем более всякие tsql, plsql и т.д., это я для красного словца, не пинайте ногами.
:D

Сообщение отредактировал Pointer: 15 January 2009 - 10:17

  • 0

#53
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng

Тем, что на асме ты пишешь под определенную железку. И если я завтра заменю процессор на новый, у которого будет в 10 раз больше ядер, но частота вдвое меньше, то программа на асме будет работать медленнее

во первых схуали? или многопоточность - это прерогатива языков высокого уровня?
во вторых переносимость - это проблема кода/среды, а не языка, кто дал тебе гарантию, что на этой новой машине будет работать твой JIT compiler, или тот-же скуель. может завтра ваще микрософт с интелом загнутся, и прости-прощай весь MS-SQL.

кстате асм может все укзанное по ссылке :lol:
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#54
Argonicus

Argonicus

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2201 сообщений
4
  • EVE Ingame:Argonicus
  • EVE Alt:Dredovod, Rydokop,
  • Corp:Wasti
  • Ally:W.A.
  • Client:Eng

А на Си точно будет лучше, может, тебя обманули? :lol:

CИ однозначно быстрее. И однозначно мощнее. Но требует больше чем одеу извилину, а у многих современных програмеров с этим туго... по сему питоны и прочие высокоуровневые языки...

Что слишком? Тебе привели уже один из примеров, где язык высокого уровня лучше чем асм за счёт распараллеливания.

Нет, ну ты правда думаешь, что (пусть ты изучил бы там асм до конца под процессор) асилишь трансляцию с функцинального языка SQL в ассемблер? А не надорвёшься? :)

Поясняю, там где АСМ молча просчитает и не подвесит машину, SQL положит ось. Ибо убог по сути своей. Да там писать код удобно, просто, но работает криво. Мне как человеку который програмировал микроконтролеры (как в той истории про програмера однокристалок) языки высокого уровня унылое Г ибо закрывают доступ ко многим очень полезным вещам. Вввиду своей якобы самооптимизации. И напиши мне на SQL приложение реального времени, с макс задержкой в 3 мили секунды и я на тебя молиться буду...

а какое бы было сейчас железо, если бы все писали "идеально оптимизированно"? даже если бы прогресс железа шел без основного его стимула (по типу - каждая новая игрушка тормозит) - при таком "идеальном", но медленном кодинге не было бы возможности освоить все, что может выдать это самое железо.
Программисты заставляют покупать железо потому что это дешевле, чем работа программистов. И это нормально, кто хочет сказать, что программеры "свои ляпы затыкают нашим баблом" пусть подумает, а не может быть такого, что производители и разработчики железа тупят с железом и бедным прогерам приходится оптимизировать немерянно код, потому что "железняки" не могут сделать реально быстрых веников, процов и памяти


Да согласен лучше я буду тратить сотни баксов ежегодно чем народ уволит мудаков неспособных писать грамотный код. Конечно, ты абсолютно прав. Зачем учить людей если можно тупо заткнуть ошибки мощностью железа. Ничего что мощность блоков питания приближается килоВату, что воет такой комп как не в себя и греет воздух вокруг себя. Но есть одно маленькое но, ОС и дрова тоже кривые, пишут-то их теже криворукие програмеры. И что в результате, у нас кривая ОС, в следствие чего лагают приложение, написанные грамотно и красиво, и все это понимая не вылизывают код, а лишь тупо патчат основные дыры...
  • 0

Записаться к безумным майнерам можно тут: Если не боишься :)
 


#55
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng

CИ однозначно быстрее. И однозначно мощнее. Но требует больше чем одеу извилину, а у многих современных програмеров с этим туго... по сему питоны и прочие высокоуровневые языки...

C потенциально быстрее != однозначно быстрее. Ибо JIT в настоящее время есть только микрософтовскый, а писать оптимизацию под все варианты ядер - это сетки жопа полная.

Ну и понятие мощности тоже надо определить, ибо интуитивное определение - отношение объема выполненной работы к затраченному времени. И в этом плане всякие прологи и узкофункциональные скрипт-языки далеко впереди планеты всей
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#56
Pointer

Pointer

    Clone Grade Nu

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 8852 сообщений
2003
  • EVE Ingame:Zleus
  • Client:Eng

во первых схуали? или многопоточность - это прерогатива языков высокого уровня?

С того, что код на асме ты пишешь под определенную железку, разве нет?

Поясняю, там где АСМ молча просчитает и не подвесит машину, SQL положит ось. Ибо убог по сути своей. Да там писать код удобно, просто, но работает криво. Мне как человеку который програмировал микроконтролеры (как в той истории про програмера однокристалок) языки высокого уровня унылое Г ибо закрывают доступ ко многим очень полезным вещам. Вввиду своей якобы самооптимизации. И напиши мне на SQL приложение реального времени, с макс задержкой в 3 мили секунды и я на тебя молиться буду...

Бгы.
Ну давай, напиши на асме аналог моего десятикилобайтного запроса на SQL к стогигабайтной базе, с которой в данный момент работают сотни пользователей, на два десятка таблиц, и чтобы он отработал за секунды.

И это я еще не работал с многотербабайтными базами с десятками тысяч одновременных клиентов. А есть и такие.

Гений, млин, сравнил, микроконтроллеры и промышленную или банковскую базу данных.
  • 0

#57
Rainbow Hunter

Rainbow Hunter

    Дежурный по зоопарку

  • EVE-RU Team
  • 4778 сообщений
875
  • EVE Ingame:Rainbow Hunter
  • DUST Ingame:test
  • Corp:OMNYX
  • Client:Eng

Когда то Билли сказал (дословно не помню): Никогда компьютеру не понадобиться более чем 640Кб памяти.
Может он был прав?


Билли вообще отличается тем, что говорит одно, а делает другое. Надо отдать ему должное именно его заслуга в том, что он из компа сделал попсу, а следовательно привлеклись множественные силы которые на этой попсе зарабатывают весьма приличные деньги.
  • 0
Изображение
Травля. RMT. Разведение троллей. Пособничество игровой коррупции.

#58
Fandanguero

Fandanguero

    Megatroll Navy Issue

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5119 сообщений
228
  • EVE Ingame:Fandanguero
  • Corp:I.N.
  • Channel:Ухотнеги рядам
  • Client:Eng
казалось бы, древний боян, а вызвал такую взрывную дискуссию
  • 0

whQ6XJu.png


#59
DeadMazay

DeadMazay

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 652 сообщений
6
  • EVE Ingame:HiMoon
  • Corp:AMDM
  • Ally:VooDoo Technologies
  • Client:Eng
Кому боян, кому нет. Учитывая обьем инфы в инете или темпы ее увеличения, многие вещи не замечаешь.

Да и вообще тема пошла о современных тенденциях программирования.
Комент прикольный нашел:"Паскаль и Бейсик по-своему неплохие языки, только не пригодятся они при решении практических задач. Конечно, на Delphi (32-разрядная расширенная версия Паскаль) пишутся промышленные системы, но делается это программистами, которые так и не смогли избавиться от своих школьных привычек." :lol:
  • 0
А мне так нравиться танковать шилду ведь вроде как когда пробивают до армора может и сам Шип пострадать.(с)

#60
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng

С того, что код на асме ты пишешь под определенную железку, разве нет?

ты наверное удивишься, но распараллеливание это стандартная методика улучшения производительности даже на 1-процессорных машинах.
и проверить количество доступных ядер и запустить соотв-ее число потоков - тоже не рокет сайнс
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users