Программирование - это просто

Touareg

to kalon epieikes
Программа полностью помещается в оперативной памяти. Кроме элементарных операций также при обработке массивов используются функции: sin, cos, exp, log и т.д. Одновременно в вычислениях используется несколько больших массивов (плотность, скорость, температура, давление, концентрации и т.д.). Также в циклах происходит обращение к логическим операциям и ветвление по результатам (if ... then ... else if ... then ... else ... end if )
Стесняюсь спросить, а профайлер в комплект используемой среды разработки входит? Предпринимались ли попытки анализировать код на предмет выявления условных 20%, нуждающихся в агрессивной оптимизации?
 

sami

Местный
Э..., взял ЧТО? Не понял, если честно.
Что программирование под кэш несовместимо с ООП, динамическими языками и т.п. Я же привел цитату!


Господи, ключевые точки описывающие этот символ задаются в этом формате. Где Вы взяли 5Mb?! Что не понятного то?.
Поумножал Ваши цифры, исходя из Вашей мысли что вектор - иллюзия. Однако теперь Вы пишете, что символ задается описывающими его точками. Что, таки вектор?


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

Да знаю я это, и вижу.
Неважно уже о чем это. Но сдается мне что Вы за сакральные знания все время выдаете свои догадки.
 

SCTRWD

Местный
Что программирование под кэш несовместимо с ООП, динамическими языками и т.п. Я же привел цитату!

Так я именно это и имею ввиду - что НЕ совместимо!

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

Рад за Вас, вы пермножать умеете! Везёт вам! Символ описывается его опорными точками в ДИСКРЕТНОМ формате. Разрешение формата - ОЧЕНЬ большое - но оно, в любом случае, КОНЕЧНОЕ и выражается в ЦЕЛЫХ числах.

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

А это просто. Чем больше одних, тем меньше других.

Неважно уже о чем это. Но сдается мне что Вы за сакральные знания все время выдаете свои догадки.

Рад бы был, если было бы так...
 

sami

Местный
Так я именно это и имею ввиду - что НЕ совместимо!
Вот, опять сакральное ничем не подтвержденное знание. Вы даже не знаете, что такое динамические языки. Очень сомневаюсь, что знаете, что такое ООП! Но догадки свои приводите. Не, без ссылки на ведущих собакоедов такие заявления даже не претендуют на истину. Тем более, что легко опровергаются.
Может Вы считаете, что ООП и динамические языки не используют кэш? (поправлюсь: что программы, написанные на динамических языках или с использованием ООП, выполняются без использования кэша?)

Рад за Вас, вы пермножать умеете! Везёт вам! Символ описывается его опорными точками в ДИСКРЕТНОМ формате. Разрешение формата - ОЧЕНЬ большое - но оно, в любом случае, КОНЕЧНОЕ и выражается в ЦЕЛЫХ числах.
Постойте, Вы утверждали, что True Type - не вектор. Теперь утверждаете, что он описывается опорными точками. Так вектор, или не вектор?

А это просто. Чем больше одних, тем меньше других.
Теперь Ваше умозаключение приобретает окраску следующего плана: "Либо не хочет ничего знать из другой области, либо крутой программист".
Пародоксальная логика )))

Рад бы был, если было бы так...
Радуйтесь! Вы достигли большого прогресса на пути нежелания знать что-либо.
 

SCTRWD

Местный
Вот, опять сакральное ничем не подтвержденное знание. Вы даже не знаете, что такое динамические языки. Очень сомневаюсь, что знаете, что такое ООП! Но догадки свои приводите. Не, без ссылки на ведущих собакоедов такие заявления даже не претендуют на истину. Тем более, что легко опровергаются.
Может Вы считаете, что ООП и динамические языки не используют кэш? (поправлюсь: что программы, написанные на динамических языках или с использованием ООП, выполняются без использования кэша?)

А Вы считаете, что используют? Ну-ну. Это из разряда: я прогнал свою программу через оптимизатор и получил ускорение? Ну так посмотрите фильм "Тупой и ещё тупее"...


Постойте, Вы утверждали, что True Type - не вектор. Теперь утверждаете, что он описывается опорными точками. Так вектор, или не вектор?

Постойте, НЕ я это утверждал. Как то все мои посты как раз таки наоборот утверждают. True Type, как кстати и PostScript - растровые форматы, просто в большом разрешении.

Теперь Ваше умозаключение приобретает окраску следующего плана: "Либо не хочет ничего знать из другой области, либо крутой программист".
Пародоксальная логика )))

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


Радуйтесь! Вы достигли большого прогресса на пути нежелания знать что-либо.

Я Вам могу указать ТЫСЯЧИ аспектов прогресса, где Вы - ноль без палочки, и НЕ желаете что-либо менять. Если я щас начну Вас грузить новейшими разработками в области обработки цифровых изображений, то Вы просто потеряетесь, поверьте мне. (Мы можем устроить конкурс, если Вы не согласны с моим утверждением <_< ).

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

sami

Местный
А Вы считаете, что используют? Ну-ну. Это из разряда: я прогнал свою программу через оптимизатор и получил ускорение? Ну так посмотрите фильм "Тупой и ещё тупее"...
Ну тут Вы опять себе противоречите. Раньше Вы утверждали, что процессоры не разбираются в языках программирования, теперь Вы утверждаете, что процессор значит таки отделяет программы, использующие ООП либо написанные на динамических языках программирования, и в этом случае обращается в память только минуя кэш?

Постойте, НЕ я это утверждал. Как то все мои посты как раз таки наоборот утверждают. True Type, как кстати и PostScript - растровые форматы, просто в большом разрешении.
Вот я и говорю, что в одном посте Вы утверждаете что True Type описывается опорными точками (т.е. векторами), в другом - что True Type - растр. Вы видимо не знаете, в чем отличается вектор от растра )))

Вот, казалось выразился достаточно понятно. Есть люди, хорошо разбирающиеся в своей области, без которых мы НЕ сможем работать. Но, которые НЕ желают и НЕ могут, и НЕ будут, разбираться в Ваших тонкостях программирования. И моя задача, кровь мз носа, сделать так, чтобы им было удобно, как бы глупо это не казалось со стороны!
Теперь понятно. Только не заикайтесь больше об оптимизации и динамических языках.

Я Вам могу указать ТЫСЯЧИ аспектов прогресса, где Вы - ноль без палочки, и НЕ желаете что-либо менять. Если я щас начну Вас грузить новейшими разработками в области обработки цифровых изображений, то Вы просто потеряетесь, поверьте мне. (Мы можем устроить конкурс, если Вы не согласны с моим утверждением <_< ).
Во! Наконец-то! Возможно теперь Вы оцените свое нелепое положение в данной ветке.
Знаете, если бы я залез на форум об обработке цифровых изображений, и начал бы ПОРОТЬ там ПОЛНУЮ АХИНЕЮ, Вам бы следовало так и поступить. Увы, я не претендую на звание эксперта в обработке цифровых изображений, хотя и занимался немного этой темой.

Суть утверждения одна - все Ваши знания - не стоят и яйца выеденного, если они не применимы на практике. А просто размахивать знаниями, без их относительности к реальным задачам - много ума не надо. Сентенции типа: я там что то, где то прочитал и слышал, здесь не прокатывают.
Угу. С этим не спорю. Однако замечу, что Вы не утруждаете себя даже чтением, перед тем как делать весьма категорические заявления в области, не знакомой Вам, чего даже не пытаетесь скрывать.
 

SCTRWD

Местный
Ну тут Вы опять себе противоречите. Раньше Вы утверждали, что процессоры не разбираются в языках программирования, теперь Вы утверждаете, что процессор значит таки отделяет программы, использующие ООП либо написанные на динамических языках программирования, и в этом случае обращается в память только минуя кэш?

Вот блин где я ТАКОЕ утверждал? Вы вообще со мной разговариваете или с кем?

Вот я и говорю, что в одном посте Вы утверждаете что True Type описывается опорными точками (т.е. векторами), в другом - что True Type - растр. Вы видимо не знаете, в чем отличается вектор от растра )))

Ну, просто обоссаться можно. Давайте раз и на всегда(если Вы не поняли из моих постов): True Type - это, в любом случае - РАСТР. Он задаётся набором опорных точкек для каждого символа в КОНКРЕТНОМ целочисленном разрешении(да , это очень БОЛЬШОЕ разрешение, но оно - целочисленное)

Теперь понятно. Только не заикайтесь больше об оптимизации и динамических языках.

А не ужто я заикался об этом? Как раз НАОБОРОТ!

Во! Наконец-то! Возможно теперь Вы оцените свое нелепое положение в данной ветке.
Знаете, если бы я залез на форум об обработке цифровых изображений, и начал бы ПОРОТЬ там ПОЛНУЮ АХИНЕЮ, Вам бы следовало так и поступить. Увы, я не претендую на звание эксперта в обработке цифровых изображений, хотя и занимался немного этой темой.

Моё положение может Вам казаться сколь угодно нелепым, однако никто так ничего по сути умного не сказал. Кроме обсирания меня, что мне до лампочки.

Угу. С этим не спорю. Однако замечу, что Вы не утруждаете себя даже чтением, перед тем как делать весьма категорические заявления в области, не знакомой Вам, чего даже не пытаетесь скрывать.

У Вас есть, что по сути возразить? До сих пор ничего не услышал. Как только услышу, займусь этим целенаправленно: начну ЧИТАТЬ, разбираться и т.д. А пока что не вижу в этом необходимости. Понимаю, что Вы это читали, время потратили, и Вам это дорого, и Вам очень не нравятся люди, не обращающие на эту тему внимание, но не всё в этом мире заслуживает внимания <_< :lol:
 

sami

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

Ну, просто обоссаться можно. Давайте раз и на всегда(если Вы не поняли из моих постов): True Type - это, в любом случае - РАСТР. Он задаётся набором опорных точкек для каждого символа в КОНКРЕТНОМ целочисленном разрешении(да , это очень БОЛЬШОЕ разрешение, но оно - целочисленное)
Если True Type всеже растр, то в виде битовой маски, при Вашем разрешении потребуется до нескольких мегабайт на один символ!!!
Если же говорить о задании фигуры с помощью опорных точек, ломаных, кривых, то имеет место векторное представление, вне зависимости от типа координат (целые они или с плавающей точкой).
Как бы то ни было, Ваши представления о TrueType не соответствуют википедии. Вы путаете понятие РАСТР как носитель информации с процессом РАСТЕРИЗАЦИИ (превращения векторной информации в РАСТР). Ограничение разрешения и целая природа координат опорных точек здесь говорят только о том, что нет возможности бесконечно увеличивать символ и наслаждаться его гладкими формами.

А не ужто я заикался об этом? Как раз НАОБОРОТ!
Да Вы всю дорогу талдычите о несовместимости оптимизации и динамических языков.

Моё положение может Вам казаться сколь угодно нелепым, однако никто так ничего по сути умного не сказал. Кроме обсирания меня, что мне до лампочки.
То что до лампочки, я уже заметил.

У Вас есть, что по сути возразить? До сих пор ничего не услышал. Как только услышу, займусь этим целенаправленно: начну ЧИТАТЬ, разбираться и т.д. А пока что не вижу в этом необходимости. Понимаю, что Вы это читали, время потратили, и Вам это дорого, и Вам очень не нравятся люди, не обращающие на эту тему внимание, но не всё в этом мире заслуживает внимания :) B)
Нет, мне не нравятся споры, в которых принимают участие люди, которые имеют смутное представление о предмете спора. А может и нравятся (споры), я что-то уже понять не могу (и остановиться тоже).

Вот Ваша точка зрения на тему патриотического воспитания мне импонирует.

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

sami

Местный
В тему о динамических языках:
Google searches for holy grail of Python performance

Google's Python engineers have launched a new project called Unladen Swallow that seeks to improve the performance of the Python programming language. One of the project's goals is to replace the Python virtual machine with an LLVM-based JIT.
Парни из Гугля хотят подсадить питон на JIT компилятор, что позволит увеличить его производительность в 5 раз.
 

SCTRWD

Местный
Признаюсь, слегка додумал за Вас. А как Вы объясните в таком случае, чем руководствуется кэш, когда идет выполнение программ на ООП или динамических языках? Почему он не учавствует в процессе в таком случае?

Он учавствует. Только в случае с динамическими языками Вы в этом процессе не учавствуете и мало что можете по сути поделать.

Если True Type всеже растр, то в виде битовой маски, при Вашем разрешении потребуется до нескольких мегабайт на один символ!!!
Если же говорить о задании фигуры с помощью опорных точек, ломаных, кривых, то имеет место векторное представление, вне зависимости от типа координат (целые они или с плавающей точкой).
Как бы то ни было, Ваши представления о TrueType не соответствуют википедии. Вы путаете понятие РАСТР как носитель информации с процессом РАСТЕРИЗАЦИИ (превращения векторной информации в РАСТР). Ограничение разрешения и целая природа координат опорных точек здесь говорят только о том, что нет возможности бесконечно увеличивать символ и наслаждаться его гладкими формами.

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

Можно также привести пример с Flash - там разрешение будет не больше 20*(размер пикселя). При просмотре ролика Вы можете его увеличивать, но до 20 раз, после этого количество возможной информации перестанет расти, всего лишь будут увеличиваться размеры уже существующей.

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

Меня тоже. Рад что мы с Вами хоть в чём то сошлись.
 

SCTRWD

Местный
В тему о динамических языках:
Google searches for holy grail of Python performance


Парни из Гугля хотят подсадить питон на JIT компилятор, что позволит увеличить его производительность в 5 раз.

Судя по последнему номеру Хакера, такие разработки уже есть. Типа PsyCo и PyPy. Но если у Гугля получится что-то своё, то можно только порадоваться. :angry:
 

sami

Местный
Он учавствует. Только в случае с динамическими языками Вы в этом процессе не учавствуете и мало что можете по сути поделать.
Ну почему же? Точно так же, как и в статических языках, можно влиять на процесс.
 

sami

Местный
Microsoft Small Basic

Brief Description
A simplified programming language and environment to help teach programming to beginners

Overview
Microsoft Small Basic is a project that is aimed at making computer programming accessible to beginners. The project comprises a simple programming language that gathers inspiration from the original BASIC programming language; a modern and attractive programming environment; and rich, extensible libraries. Together they make programming fun for kids and adults alike.

System Requirements

* Supported Operating Systems: Windows Server 2003; Windows Server 2008; Windows Vista; Windows Vista 64-bit Editions Service Pack 1; Windows XP; Windows XP 64-bit

.Net Framework 3.5SP1 :eek: :D :D


Примечательно то, что VB .Net, который часть платформы .net framework, стал таким монстром, что обучать с помощью него уже видимо нельзя :D

А мне вообще кажется, что BASIC это очень вредный для начинающих язык. Он очень сильно ограничивает полет мысли, слишком близок к железу. Лучше начинать с чего-нибудь ML-подобного.
 

Mike22

Местный
... Это было красиво, как и все в первый раз. Первая строка кода на интерпретаторе Бейсик, первая ассемблерная команда, первое обращение к видеопамяти… Это было скорее: „– а можно так? – что пожелаешь”.

Длительный перерыв и встреча с Его Величеством ПК. Помню, на первый урок нам сказали купить дискету. Я купил две. Вторую разобрал тут же. Это было время бокса для дискеток, в которой с трудом посещалось 21 дискетка со всем, что я имел. Это было время Паскаля. Процедуры и функции, массивы и индексы, Begin-End и всякие алгоритмы отформатировали в мозгу некоторое место для дальнейших прорывов. Это была эпоха БИОСа и ДОСа, которая закончилась появлением Windows95. Как бы я не фукал сейчас Окна, но именно они мне показали, что такое черное по белому.

Потом были Delphi и Интернет. В это время появлялась идея, которая тут же реализовывалась за пару суток до ЕХЕ-шника. Как в анекдоте: „– что ты делаешь? — сейчас запустим и посмотрим!” Все было именно так. Процедурный стиль не оставлял меня. Если была кнопка — был и ее обработчик. В обработчике описывалось все, что должно было быть сделано. То, что может понадобиться в другом проекте, устранялось в отдельный файл-монстр – MyUnit.pas. ...

Интересно написано, советую полностью прочитать.
 

sami

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

http://folding.stanford.edu/Russian/Main
http://www.gpugrid.net/science.php
http://setiathome.berkeley.edu/index.php

Я думаю, что в некотором роде задачи этих сетей могут говорить о "серьезности" вычислениях на GPU.
 

Mike22

Местный
... Оказывается есть куча брут-форс сетей на GPU, можно присоединиться и помочь в расчетах
:) :) :) :lol: :lol:
Посмешило.

Понятие брут-форс означает - взлом с применением грубой силы.
Оно (это понятие) у вас не очень корректно было в сообщении использовано.
:p

Это вы просто, про проекты распределённых вычислений с применением GPU, сказать хотели.
 

sami

Местный
:) :) :) :lol: :lol:
Посмешило.

Понятие брут-форс означает - взлом с применением грубой силы.
Оно (это понятие) у вас не очень корректно было в сообщении использовано.
:p

Это вы просто, про проекты распределённых вычислений с применением GPU, сказать хотели.
Прежде всего брут-форс - это метод решения задачи полным перебором. То что его используют для криптографических атак, не делает его исключительно методом взлома.
http://ru.wikipedia.org/wiki/Метод_грубой_силы

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

Mike22

Местный
Не, не.

Само по себе использование GPU (NUMA) и кластеров и распределённых вычислений ничего общего не имеет со взломом и грубой силой.

Тут видно смешение понятий произошло.

Брут-форс это именно грубый взлом (часто прямым перебором), а не метод высокопроизводительных вычислений :p
 
Сверху