![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#61 | |||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Отчего же чушь, очень даже точное замечание к соответствующему посту.
Цитата:
Цитата:
Цитата:
![]() Цитата:
Цитата:
1. Опыт и знания это не одно и тоже. Одно дело самому вляпаться в дурнопахнующее или получить граблей про меж глаз и сосвем другое говорить книжными фразами. 2. Никогда не верил в авторитет и "слова многих людей", так как неоднократно убеждался как часто ошибаются "многие". Чего и ТС желаю.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|||||
![]() |
![]() |
![]() |
#62 | ||
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]() Цитата:
Цитата:
Смеха ради, есть же проект ReactOS (вроде), переезжайте на него, он ведь меньше чем Windows 7 весит (я так думаю). По моему смешно звучит как то. Т.е. один человек напишет ОС, она ведь будет меньше размером, быстрее работать, меньше ресурсов есть ![]() p.s. повторюсь, это просто смешной пример. Последний раз редактировалось BOBAH13; 06.12.2010 в 15:08. |
||
![]() |
![]() |
![]() |
#63 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Эх...похоже, что тема зашла в тупик...
Ну а ТС, я так думаю, через год-другой осознает сам, какой ему использовать инструмент, что бы не остаться в проигрыше...
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#64 |
Заслуженный флудер
Участник клуба
Регистрация: 31.03.2010
Сообщений: 1,473
|
![]() |
![]() |
![]() |
![]() |
#65 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
(форум не пропустил пост из-за размера - пришлось побить на три части)
Цитата:
Что непонятно во фразе "делать то, что реально важно"? Будет программа на щелчок мыши реагировать 200 мсек - будем исправлять. Нет - ну и нафиг надо? Ты меня извини за прямоту, но по этой фразе сразу видно, что опыта у тебя - с гулькин нос. Ни один программист не станет оптимизировать всё подряд. "Premature optimization is the root of all evil". Никогда раньше не слышал? Сначала пишется программа. Потом её тестируют и находят узкие места. Потом эти места оптимизируют. Вот и всё. Ты потратил 5% усилий для улучшения эффективности программы на 98%. В чём смысл потратить ещё 95% усилий, чтобы получить прирост производительности в 2%? (окей, на самом деле, в этом плане гораздо более важны предварительные этапы: проектирование и дизайн) _______________ (слова ниже не обращены ни к кому лично, это просто изливание моих мыслей) Вы поймите сначала, откуда это идёт. А идёт это из той ровно той оперы, "раньше солнце светило ярче, а трава зеленее". Ровно и всего. Старики вспоминают свою радостную молодость: - Эх, как мы классно тогда посидели, сумели втиснуть код в 64 Кб, помнишь? - Точно, клёво было. Не то, что щас, все проги да с установщиком, а молодёжь в этом ничё не понимает - школота! (у кого чё, конечно) Вы меня извините конечно, но у меня бабки под окном заводят не хуже. Времена меняются, и то, что было актуальным вчера, сегодня уже не актуально. Face it. Смиритесь. Живите дальше. Скулежом по поводу безвозвратно ушедших дней вы ничего не измените. Давайте я проведу аналогию. Мне кто-то сказал, что у меня неплохо получается это делать. Вот два строителя в древнем мире: - о, ты это клёво придумал, блоки-то так поднимать. Какую конструкцию забабахаем! Сегодня: - вот раньше же ведь строили - никаких подъёмных кранов не было. А теперь? Куда ни плюнь - без крана никак. А стоят они - ого-го! Это всё заговор фирм производителей кранов, чтоб по миру нас пустить! - слушай, а мож без крана построим? - эт как так? - да вот как раньше-то строили, чё мы, хуже что-ли? Почему так никто не делает, сэкономишь ведь на технике-то? (ладно, представим что рабов им подгонят) Потому что тогда дом будет готов не через два года, а через двадцать лет. Понятно в какие дали пошлёт таких "строителей" заказчик? Окей, ещё пример, быть может, такое даже происходило. Вы пришли к пользователю вашей программы и сказали: - Я выпустил новую версию! Она офигенна! Я туда так вложился, столько всего сделал, сидел целых два месяца день и ночь на кофе. Меня даже девушка бросила. Прям горжусь собой! - Оу, чувак, это офигенно клёва! Наверное, там теперь можно закачивать фотки в Контакт? - Нет! - А куда-нибудь закачивать? - Да нет же!!! - O_o А чё ж ты тогда сделал-то? - Я уменьшил размер программы с 8-ми мегабайт до... затаи дыхание... до 800 килобайт!! В 10 раз! На порядок! Ты прикинь?! - O_O Ты чё, дибил? (упреждающее предупреждение для модератора: это я ни про кого лично, это не наезд и не оскорбление) Я вот наблюдаю за такими людьми. Вы знаете, что я думаю? Это болезнь. Да-да, это болезнь, которая поражает компьютерных технарей. Им просто прям физически неудобно от того, что их программа не оптимальна. Не существует никакой иной причины объяснить их стремление заниматься этим. Они не могут это объяснить. Любой аргумент, который они приводят, просто неприменим к тому, для кого они пишут программу: пользователю. Например: - (компьютерщик, поражённый болезнью) но если бы все так делали, то ты смог бы записать на диск больше программ! - (нормальный человек) ????... чего? Да я просто удалю один фильм, а ещё лучше - пойду прикуплю двухтерабайтник, давно пора уже, а то музыку складировать некуда. Если вам будет от этого легче, то я скажу вам, что человеческая ДНК тоже содержит мусорные участки (я втайне надеюсь, что все больные этой болезнью люди взорвутся от такого противоречия - это была слабая попытка имитировать Реймонда Чена).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 06.12.2010 в 15:51. |
|
![]() |
![]() |
![]() |
#66 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Это не обязательно должен быть программист, напротив - программисты болеют этой болезнью в раннем возрасте, после чего идут дальше. Но вот продвинутые пользователи, не являющиеся программистами, часто не способны продвинуться дальше. В одной из командировок я видел на предприятии вполне взрослого дядьку (ближе к 40, наверное), который (на полном серьёзе!) ругался, что наш комплекс занимает (о, ужас!) целых 300 Мб! (я не помню, сколько он весит, но пусть будет 300) Ругался он, сидя на такой машине, что я и сейчас облизываюсь. Два моника непомерных размеров, 8 Гб RAM, четырёхядерник (хз частота, но соответствующая), RAID массив из 4-х винтов и видюха того же плана (одна). Да, 300 мегабайт, ай как плохо... У меня язык чесался ответить: "ты бы предпочёл купить нашу программу через 15 лет за вдесятеро большую сумму, так что-ли?", но... заказчик-с.
Программы занимают мизерную часть содержимого компьютера. Обычному пользователю по барабану, занимает ли она 1 или 80 Мегабайт. Ему это не интересно. Ему интересно смотреть фильмы, слушать музыку, играть в игры, общаться с друзьями, и т.д. Если вы сделали офигенный плагин для WinAmp-а, который весит 100 Мегабайт - вы думаете кто-то будет смотреть на (примечание для зануд, не умеющих вычленять контекст: НЕ офигенный) плагин на 100 Кб? Кому интересно, что Fallout занимает 15 Гб (или сколько там? Я не знаю, хотя он у меня стоит), если он позволяет тебе погрузиться в атмосферу мохавских пустошей на FullHD? Школьникам и безработным? Ну-ну. Ориентируйтесь и дальше на эту аудиторию - это верный путь в светлое будущее. Напоследок хотелось бы сказать ещё про чисто технический момент. Конечно, новичок видит, что программа A < программы B и потому программа A лучше - это же очевидно! Но при этом он совершенно упускает из виду, что уменьшение размера не даётся за бесплатно. Закроем глаза на уже упомянутые факторы, посмотрим с такой стороны: чем достигается уменьшение размера? Ну, например, отказом от большой толстой библиотеки и реализацией функционала самому. Почему это приводит к уменьшению размера? Потому что вы пишете только тот код, что непосредственно используется в вашей программе. Что ещё? Ну, вы заменяете неэффективные конструкции эффективными. Что не так с этим подходом? Давайте загибать пальцы: - С высокой долей вероятности новичок напишет говно-код, вместо использования качественного библиотечного кода. - Почти наверняка ваш код не будет обрабатывать редкие или граничные случаи - ведь они почти никогда не случаются! Зачем тратить место? Тем более, что "у меня всё работает". - Ради уменьшения размера вы жертвуете другими качествами программы. Например, надёжностью. Вы не станете расставлять фреймворк проверок и обработки ошибок, как это делает библиотека - ведь это ест место и время! - Выбрасывая универсальный код и делая код конкретный вы снижаете гибкость и возможность к модификации. Используя универсальную библиотеку, вы можете изменить поведение, изменив всего пару строк. Используя же конкретный код - вам нужно его выбросить и написать заново. - Сюда же относятся различные модификации на оптимизацию, переписывание на ассемблере и т.п. Зачастую это делает исходный код настолько жёстким, что его нельзя тронуть в одном месте, чтобы не поплыло в другом (хотя бы в плане оптимизации). Но кому это важно, ведь программу я написал и вот она: маленькая? Чувак, IT - это самая быстроразвивающаяся отрасль. Программа, которая не нацелена на модификацию - мертва ещё до выхода первой беты. - Часто довольно быстро у вас отваливается читабельность кода. Код, написанный с применением библиотеки поддержки легко читать, изменять и сопровождать. Код, написанный на коленке, реализующий заново только в минимально необходимом объёме функционал библиотеки, щедро посыпанный ассемблерными "оптимизациями" (каждая из которых нейтрализуется случайной задержкой головок диска) становится просто не читаем для стороннего человека - а иногда и для самого автора полгода спустя. Я напомню очередную прописную истину: код пишется НЕ для машины. Код пишется для человека.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#67 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Обычно этой болезнью заболевают новички-программисты. Конечно же, они слышат "ай как плохо, программы-то все большие!". И, конечно же, они заболевают этой идеей. Ведь "A < B" выглядит так просто и это так просто осознать. А вот идея про эффективность и практичность - это уже сложнее. "Это всё скучно и не интересно! А вот тут я лучше щас на ассемблере перепишу..."
Кроме того, они видят, что (похоже) все вокруг не прониклись этой идеей. И им кажется, что вот она, эта ИХ идея. Которая принесёт им... ну что-то принесёт, да. "Я напишу такую же программу, только она будет весить всего 1 мегабайт вместо этих двадцати! И, конечно же, она будет гораздо удобнее - все будут использовать мою программу, ведь пользователь увидит, что она лучше той, потому что она компактна и эффективна". Знаете, что я вам скажу? Размер - это последнее, на что посмотрит пользователь. А когда вы закончите программу через три года, она будет никому не нужна. Успех программы не связан с её размером. Никак. Когда программист со временем набирается опыта он понимает, что это всё баловство, детские шалости. Ну и отлично. Ничего в этом страшного и постыдного нет. Мы все переболевали этой болезнью (и многими другими!). И не бойтесь спрашивать как уменьшить размер программ, как писать без VCL, экспериментируйте, учитесь - всё это правильно, это набор опыта. Но только если при этом вы попробуете открыть рот на тему: "Бла-бла-бла, эта программа такая раздутая, это просто ужасно, ABC намного лучше нежели XYZ, потому что она очень мало весит" и т.п. - вам тут же дадут по лбу. Ребят, вокруг столько всего интересного, мы живём в удивительное время. Как там сказал Фредерик Брукс: Цитата:
Чем занимаетесь вы? Уменьшили размер программы. Аплодисменты. Ребят, я не знаю, вам действительно нечем больше себя занять? Мне, право, вас жаль... P.S. Справедливости ради, надо заметить, что гонения за минимальным размером программы вполне имеет право на существование как минимум в одном случае (примечание для зануд, не умеющих вычленять контекст: мы находимся в мире Delphi и Windows; не надо тут начинать про часы с 4 Кб памяти): искусство. Да, некоторые занимаются этим для собственного удовольствия и как некий вид искусства (примечание: толпа народу, стенающая на форумах: "ну подскажите же, как тут уменьшить", к этой категории не относится). Ничего не имею против - я только за. Но если только такой программист попробует полезть ко мне со своим "вот как надо писать, если бы молодёжь думала об оптимизации, бла-бла-бла", то получит своё законное ПНХ. К счастью, человек, занимающийся такими вещами, обычно адекватен и понимает, что к чему. P.P.S. Ах, да, прежде чем писать мне гневный ответ в стиле "но для меня размер важен!", я напоминаю вам, что я говорю об обычных пользователях. Тех, которых 90%. Тех, которых интересуют фильмы, игры, друзья и музыка. Вы - не типичный пользователь. Вы технарь. Примите это во внимание, прежде чем писать ответ (я полагаю, что вы достаточно умны, чтобы это сделать). P.P.P.S. Ну и, конечно же, ссылка в тему. Джоэль Спольски - человек с весьма богатым жизненным опытом и пройденным путём.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
Последний раз редактировалось GunSmoker; 06.12.2010 в 16:08. |
|
![]() |
![]() |
![]() |
#68 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]() Цитата:
Почему ты считаешь, что ScanLine в VCL - низзя, а Pixels[] - нормально? А я вот скажу, что SetPixel в WinAPI - OK, а GetDIBits - низзя. Чем это отличается? Реально ты сейчас сравнил не VCL с WinAPI, а велосипед с карьерным грузовиком (установка единичного пикселя vs прямая (к тому же блочная) модификация памяти). Это разные инструменты для разных задач. Оба из которых к VCL и WinAPI не привязаны. Да все так делают! Чистить канву попиксельно будет только больной со справкой.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
![]() |
![]() |
![]() |
#69 | ||
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]() Цитата:
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
||
![]() |
![]() |
![]() |
#70 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
GunSmoker, прямо крик души
![]() Знаете почему некоторые производители коммерческого программного обеспечения не любят Линукс ![]() ![]() Да кто будет думать о байте у Вас же винт террабайтный ![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 06.12.2010 в 16:16. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Товарищи модераторы за что удалили мою Тему? Или я что то не втыкаю!? | Олег Егоров | Помощь студентам | 0 | 19.05.2010 19:39 |
Товарищи старшие! | Prihlop | Помощь студентам | 1 | 19.11.2009 21:20 |
(VB) Подскажите мне товарищи... | phantom4eg | Помощь студентам | 1 | 12.09.2009 20:43 |