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

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

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


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

#61
Blasfemer

Blasfemer

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2318 сообщений
125
  • EVE Ingame:Blas Vicarius
  • Client:Eng

Да согласен лучше я буду тратить сотни баксов ежегодно чем народ уволит мудаков неспособных писать грамотный код.

В ситуации с нашим автопромом тебя это неудивляет? :lol:
  • 0
"Make your way to the top by any means necessary
and carry on until your enemies are dead and buried" (с)

#62
Pointer

Pointer

    Clone Grade Nu

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

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

Эмм, и часто ты так делаешь для любого своего кода на асме? :lol:
Думаю, для этого надо быть психом, поэтому и асм у тебя сейчас только РО. :)
  • 0

#63
eldest

eldest

    Clone Grade Zeta

  • Tech II Pilots
  • PipPipPip
  • 422 сообщений
12
  • EVE Ingame:Eldest 007
  • EVE Alt:******
  • Corp:-frs-
  • Channel:Corp Channel
Какая замечательная тема. =)

Пряморукие пользователи возмущены кривым кодом, от криворуких прогеров, пишущих кривые проги для кривой оси, работающей на кривом железе.
Уволить всех лентяев!!!...
Даёшь всё на ассемблере!
  • 0
You don't need to be afraid...
Изображение

#64
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng
Программы на ЯВУ на самом деле точно так же платформенно-зависимы как и на асме. И их портабельность во многом зависит от того, как писать. Скажем, на асме можно все потенциальные различия между известными целевыми платформами закатать в параметризованные макросы и в зависимости от заданных опций все будет чудненько ассемблироваться подо что угодно. А вот с тем же эскуэлем бывает, что целевой сервер просто не поддерживает какую-то фичу, и хоть ты убейся, а придется переписать с нуля, причем хорошо если только один конкретный запрос, а не перекраивать всю БД.
  • 0

#65
z4gnom

z4gnom

    Clone Grade Kappa

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

И напиши мне на SQL приложение реального времени, с макс задержкой в 3 мили секунды и я на тебя молиться буду...


ну с таким же успехом можно просить на асме написать ерп систему уровня среднего промышленного предприятия, причем за время, меньшее чем средняя продолжительность жизни директора этого предприятия :lol:

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


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

Мне тоже совсем не интересно править или дорабатывать "индусский" код, однако это необходимое зло и балланс между качеством и количеством найти очень тяжело. У меня был не один случай, когда иправление нескольких строк в программе или минимальная переделка цикла заставляла джоб работать не 20 часов а 30 минут, понятное дело, что тех, кто пишет такие шедевры надо не то, чтобы увольнять, а убивать на месте, но и "идеальный кодинг" абсолютно во всем - тоже лишнее
  • 0
Darkness.. You afraid? I'm not. Darkness afraid of me.

#66
deadok

deadok

    Clone Grade Lambda

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

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

что за дурацкаD

Сообщение отредактировал deadok: 15 January 2009 - 11:54

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

#67
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng
А по собственно теме, лет 10 назад я понтовался перед друзьями интерпретатором бейсика из 2х байт, правда работал он не везде. Если правильно помню, код выглядел так:

INT 18H # start ROM-Basic
INT 20H # end program

На "неподдерживаемых" машинах ДОС выдавал чудное сообщение: no ROM-basic, system halted, что было в-общем тоже круто для 2х байт.
  • 0

#68
deadok

deadok

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 5461 сообщений
272
  • EVE Ingame:deadok
  • Corp:RUS
  • Client:Eng
кстате, по теме прикольных ссылок:
http://99-bottles-of...lcode-1544.html
http://shakespearela...eare/#sec:hello
  • 0
Тута, типа, должно писаться: скока раз я кого убил, мое жизненное кредо и прочая ботва

#69
Pointer

Pointer

    Clone Grade Nu

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

что за дурацкаD

Хм, действительно, на асме проще, всего две строчки! :lol:
(Когда это писал, в данном посте было кое что другое. :))

Но вообще-то это не я начал, лучше перечитай в ответ на что я это написал.
я не думаю, что автор предлагал бутлоадер писать на сиквеле, у сиквеля своя строго определенная ниша и автор заявил, что там, где сиквель в этой своей нише повесит систему, он на асме сделает все пучком. :)
  • 0

#70
dreamer2

dreamer2

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 479 сообщений
18
  • EVE Ingame:dreamer Two
  • Corp:exR.N
  • Client:Eng
ааа, нифига тут открытие сделали
sql круче асма))
может еще и круче сей на которых написан? :lol:
может даже круче инструкций процессора которые фактически выполняются?

народ, вы это серьезно?
как можно смешать настолько разные уровни я не могу постичь
ладно бы поспорили на чем писать сам sql сервер, но запросы, о боги)))
  • 0

#71
deadok

deadok

    Clone Grade Lambda

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

(Когда это писал, в данном посте было кое что другое. :lol:)

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

#72
wiz

wiz

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1275 сообщений
75
  • EVE Ingame:dp wiz
  • Corp:NPC
  • Channel:stoned
  • Client:Eng
Проходя мимо хотелось бы отметить, что SQL, как и упомянутый выше пролог являются не функциональными языками, а логическими. В силу этого они лучше подходят для описания запросов, но производительность и возможности сильно ограничены. Поэтому, например в PostgreSQL, можно использовать другие языки для встраивания в запросы - будь то C или Python.

Да на реляционных БД свет клином не сошёлся и есть такие любопытные артефакты как CouchDB, где можно хранить любую, даже неструктурированую, информацию и обрабатывать её при помощи функционала map/reduce.
  • 0
Всё, что чушь не убивает, делает её сильнее.

Изображение

#73
dreamer2

dreamer2

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 479 сообщений
18
  • EVE Ingame:dreamer Two
  • Corp:exR.N
  • Client:Eng

есть такие любопытные артефакты как CouchDB

вот кстати расскажите лучше про DB Cache, немного коснулся, чего там такого страшного наворочано?
какие-то дикие деньги и сплошной туман вокруг :lol:

ЗЫ
Там где я ее встретил, она была явно не нужна, очередной попил госструктурами, там бы и mysqlя бы хватило по функциональности)
  • 0

#74
Tir

Tir

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18404 сообщений
2800

Программы на ЯВУ на самом деле точно так же платформенно-зависимы как и на асме.

Угу. С той лишь разницей, что на яве надо сильно постараться, чтобы программа стала платформозависимой. А на асме - сильно постараться, чтобы она стала платформоНЕзависимой.

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

Фичи конкретных серверов юзаются на свой страх и риск. Хочется полностью переносимого скуеля - пиши в соответствии со стандартом. Ну а если у вас сервер стандартный скуель не поддерживает... хм... ну тогда вы сами себя привязали к этому серверу на этапе выбора сервера. Причём всерьёз и надолго.

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

Я наверно взорву ваше мировоззрение, но один язык быстрее другого быть не может. Может быть одна программа быстрее другой. А скорость программы в свою очередь зависит не только от языка. Вы ещё скажите, что сишного говнокода в природе не бывает. Более мощный язык - это не гарантия быстрой программы. Хотя и бОльшие возможности её написать. Но и бОльшие возможности нарубить дров.

Мне как человеку который програмировал микроконтролеры (как в той истории про програмера однокристалок) языки высокого уровня унылое Г ибо закрывают доступ ко многим очень полезным вещам.

Как показывает практика, желание использовать такие вот "полезные вещи" - часто и густо признак гнилой архитектуры системы, дыры в которой хотят залатать этими самыми "полезными вещами". "Вы не должны этого хотеть"(С) Начальник при обсуждении архитектуры программ.
  • 1

#75
wiz

wiz

    Clone Grade Theta

  • Tech III Pilots
  • PipPipPipPip
  • 1275 сообщений
75
  • EVE Ingame:dp wiz
  • Corp:NPC
  • Channel:stoned
  • Client:Eng

вот кстати расскажите лучше про DB Cache, немного коснулся, чего там такого страшного наворочано?
какие-то дикие деньги и сплошной туман вокруг :(

На самом деле CouchDB и Caché это принципиально разные вещи. Про Caché могу сказать только что это корпоративный динозавр который всё никак не сдохнет...
  • 0
Всё, что чушь не убивает, делает её сильнее.

Изображение

#76
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

Угу. С той лишь разницей, что на яве надо сильно постараться, чтобы программа стала платформозависимой. А на асме - сильно постараться, чтобы она стала платформоНЕзависимой.


Фичи конкретных серверов юзаются на свой страх и риск. Хочется полностью переносимого скуеля - пиши в соответствии со стандартом. Ну а если у вас сервер стандартный скуель не поддерживает... хм... ну тогда вы сами себя привязали к этому серверу на этапе выбора сервера. Причём всерьёз и надолго.


Я наверно взорву ваше мировоззрение, но один язык быстрее другого быть не может. Может быть одна программа быстрее другой. А скорость программы в свою очередь зависит не только от языка. Вы ещё скажите, что сишного говнокода в природе не бывает. Более мощный язык - это не гарантия быстрой программы. Хотя и бОльшие возможности её написать. Но и бОльшие возможности нарубить дров.


Как показывает практика, желание использовать такие вот "полезные вещи" - часто и густо признак гнилой архитектуры системы, дыры в которой хотят залатать этими самыми "полезными вещами". "Вы не должны этого хотеть"(С) Начальник при обсуждении архитектуры программ.


Ты что головой стукнулся? Предлагаешь заменить микроконтролер за 30-50 центов на комп стоимостью от 200$? Пойми что сейчас нет ОС реального времени, в принципе. А для производство необходимо задержка не более 20-30 мили секунд, а в некоторых случаях счёт идёт на микросекунды. И тут выбор отлько один или асемблер или вообще машинные коды если контролер специфический... А вы SQl, пиотн и прочая. Или вы считаете что комп от святого духа производиться?
  • -1

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


#77
Tir

Tir

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18404 сообщений
2800

Предлагаешь заменить микроконтролер за 30-50 центов на комп стоимостью от 200$?

Я где то это писал? Это уже не мои слова, а ваши галлюцинации.

Пойми что сейчас нет ОС реального времени, в принципе. А для производство необходимо задержка не более 20-30 мили секунд, а в некоторых случаях счёт идёт на микросекунды. И тут выбор отлько один или асемблер или вообще машинные коды если контролер специфический... А вы SQl, пиотн и прочая. Или вы считаете что комп от святого духа производиться?

Никто не предлагал программировать контроллеры на языках высокого уровня. Точно так же как вы склонны рассматривать разработку ПО с точки зрения низкоуровневого программирования, точно так же и я склонен его рассматривать с точки зрения разработки программ корпоративного масштаба. Каждый смотрит со своей колокольни. Каждый язык хорош в своей области. И для меня высказывания в духе "языки высокого уровня - параша, асм и С - рулят везде и всегда" звучат такой же дикостью, как для вас - программирование микроконтроллеров на питоне. С той лишь разницей, что я не кричу "асм и С - ацтой, ява форева". Я прекрасно понимаю, что есть области, где асм и С куда более подходящие языки, чем высокоуровневые.

Сообщение отредактировал Tir: 15 January 2009 - 18:57

  • 0

#78
dreamer2

dreamer2

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 479 сообщений
18
  • EVE Ingame:dreamer Two
  • Corp:exR.N
  • Client:Eng

На самом деле CouchDB и Caché это принципиально разные вещи. Про Caché могу сказать только что это корпоративный динозавр который всё никак не сдохнет...

я про Caché, видимо
товарищи ее продвигавшие рассказывали много фантастики, типа ораклы и мсскл тихо курят в сторонке :(

впрочем уже несколько лет прошло, к этому топику отчего-то вспомнилось)

Сообщение отредактировал dreamer2: 15 January 2009 - 19:04

  • 0

#79
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

Я где то это писал? Это уже не мои слова, а ваши галлюцинации.

Никто не предлагал программировать контроллеры на языках высокого уровня. Точно так же как вы склонны рассматривать разработку ПО с точки зрения низкоуровневого программирования, точно так же и я склонен его рассматривать с точки зрения разработки программ корпоративного масштаба. Каждый смотрит со своей колокольни. Каждый язык хорош в своей области. И для меня высказывания в духе "языки высокого уровня - параша, асм и С - рулят везде и всегда" звучат такой же дикостью, как для вас - программирование микроконтроллеров на питоне. С той лишь разницей, что я не кричу "асм и С - ацтой, ява форева". Я прекрасно понимаю, что есть области, где асм и С куда более подходящие языки, чем высокоуровневые.

Какие галлюцинации? У вы сами сказали про полезные вещи (я так понимаю вы про С++ и асм) которыми затыкают гнилую архитектуру...

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

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


#80
antonn*Нейтрал

antonn*Нейтрал
  • Guests
Pointer

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

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

Хорошо, скажу проще.
Тем, что на асме ты пишешь под определенную железку.

Почитай про упоминавшийся IA-32, определенная железка превратится во вполне определенную унифицированную платформу :)

Argonicus

Поясняю, там где АСМ молча просчитает и не подвесит машину, SQL положит ось.

СКЛ ничего не положит. Это структурированый язык запросов, "макрос", это не исполняемый код, он ничего не кладет. И версий этим самых "sql" немало, каждый отличается своим функционалом и требованиями.

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

скажи это тем, кто на Яве пишет :)
  • 0




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

0 members, 1 guests, 0 anonymous users