Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> Паскаль умер!
Начать новую тему   Ответить на тему   вывод темы на печать

Паскаль умер!

Автор
Сообщение
vladislav
Запомнил кнопки...



Зарегистрирован: 04.02.2005
Сообщения: 147


Статус: Offline
СообщениеДобавлено: 2005.02.08 19:28.47
Ответить с цитатой
Написание этого "опуса" побуждает мой опыт и программиста и преподавателя. Здесь уже много говорилось о "знаниях" студентов. Я, в данном случае, не хочу говорить о самих студентов это особый разговор для другой темы. Меня
волнует, как преподается программирование. Я не хочу сказать, что преподаватели плохие. Преподаватели разные, как и в любом институте и это хорошо. Мне не нравится, прежде всего, чему учат, т.е. попросту говоря учебные планы. Конечно,
программирование в массовом порядке преподают не так давно и стандарты и учебные планы и, я бы сказал еще традиции преподавания, не устоялись. Проблема в Паскале. На мой взгляд, преподавание Турбо Паскаля губит многих студентов
на корню. Я попытаюсь объяснить, в чем здесь проблема. На мой взгляд, в технологии программирования, чем и следует овладеть студенту, присутствуют следующие компоненты: алгоритм, язык программирования, среда программирования, технология разработки ПО, среда выполнения (обычно ОС). Так вот, по моему глубокому убеждению, на какие бы курсы не было разбито преподавание программирования, любой курс должен преподаваться как курс программирования. Другими словами, среда программирования, например Windows не может изучаться иначе как через само программирование. Кроме этого, в каждом курсе программирования должны присутствовать все компоненты программирования. Если бы это удалось сделать, то, мне кажется, мы бы сдвинули обучение программированию с нулевой (или отрицательной) точки. Что же происходит с Турбо Паскалем. Он изучается очень подробно, два семестра. Теперь вдумайтесь в следующее: нигде и никто уже давно не пишет прикладные программы на Турбо Паскале 7.0. Почему? А потому-то этот продукт был предназначен для программирования в операционной системе MS DOS. Но этой
системы уже нет в природе - Windows только эмулирует ее, чтобы дать возможность запускать программы 15-летней давности. И вот бедные студенты два семестра программируют на ТурбоПаскале, совсем не понимая, что они программируют
в MS DOS и не зная какое это отношение имеет к Windows. Более того, они изучают даже те темы, которые уж никак нельзя пристегнуть к Windows - графику, файлы и т.п. И вот проучившись два семестра, не понявший, где он программировал студент, переходит к Delphi, и начинает программировать уже в Windows, до конца так и поняв, что это такое. При этом с самой ОС он опять не взаимодействует,
но это уже другой разговор. Возникает вопрос - зачем нужен Турбо Паскаль? Если мы принимаем, что преподавать алгоритмы надо в отрыве от всего остального, почему не взять, например, какую-нибудь программу для дошкольников - управлять какой-нибудь лягушкой или кенгуренком. Результат будет точно тот же самый, но без введения студента в заблуждение, так как он здесь прекрасно поймет, что
программирует не в Windows. Если кто-то мне скажет, что паскаль помогает затем программировать на Дельфи. Но, во-первых, Дельфи не должен быть самоцелью, а во-вторых, почему бы тогда не начать сразу на Дельфи и писать в начале
разные алгоритмы в простых консольных программах.
Ребята, забудьте про ТурбоПаскаль 7.0. Нет его, давно умер. Я этот вопрос уже давно ставлю на факультете, но пока переубедить коллег мне не удается.
Посмотреть профиль Отправить личное сообщение
 
Rik
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 22.10.2006
Сообщения: 2447
Откуда: Челябинск

Статус: Offline
СообщениеДобавлено: 2008.11.24 21:41.36
Ответить с цитатой
Vladislav_133 писал(а):
wovan_xp писал(а):
Я бы сказал что Си умер, майкрософт всеми путями от него отрещивается придумывает новые языки типа С#, а главной бедой линукса эксперты называют опять таки Си, таг каг после того как код ядра ОС вырос до внушительных размеров его отладка стала сущим кошмаром, по всем надеюсь понятным причинам, а вот российские проектировщики "РОСЫ" избрали таки в качестве основного языка новой ОСИ паскале образный оберон.


Вот этого не надо, Си вечен.


Не уверен, в нашем мире вечного точно ничего нет. Но Си позиции будет уступать, это точно...

Цитата

Честно говоря, мне всегда была непонтна фраза "научить программировать". В 19.. году, мне впервые пришлось столкнуться с компьютером. Это был Б3-28, предок ДВК. Что из себя представлял этот монстр - отдельный разговор. Но мне нужно было на нем программировать. У меня в руках был только загружаемый компилятор и тоненькая книжка по языку. Там в две строчик был описан каждый оператор и был приведен примерчик маленькой программки. И все. Но мне было интересно и необходимо программировать. Я сел и стал писать. Помню как получилась первая программа. Ликованию не было конца. Ребята, говорю я студентам, как только вы поймете, что программировать это ни с чем не сравнимое удовольствие, то вы программисты. Тут и я вам буду не нужен. А пока вам это не надо, то я вам тоже помочь ничем не могу. В общем прихожу к выводу, что преподавать программирование - нонсенс.

Шучу конечно. Но в каждой шутке...

Я тоже начинал с калькуляторов программируемых...

Конечно, преподаватель нужен тому, у кого есть желание. Это также как рисовать, даже если у вас нет способностей, но есть желание, рисовать вы все равно научитесь, может великим художником не станете, но рисовать научитесь. А если ещё есть талант... А если нет ничего, то и смысла учиться нет, и никакой преподаватель не поможет. Представьте человека, который пришел учиться рисовать, но у него нет ни желания ни способностей... Программирование - это искусство.

Разговаривал с разработчиком Pascal ABC, они планируют ещё в связке с Mono PascalABC.NET сделать. От старого Pascal ABC отказались полностью, проект можно сказать закрыт и не поддерживается. Все усилия пойдут на развитие компилятора PascalABC.NET.
Он написан на C#, и так же как и C# компилирует программу в байт код, который выполняется в среде .NET, это стало возможным, благодаря тому, что механизмы компиляции открыты и задокументированы, есть примеры компилятора C#, написанном на самом C#. Открытость дает возможность создания компилятора любого языка в код .NET. Зато Delphi подобным Pascal ABC точно уже не будет и не понятно как далеко пойдут разработчики, если сделать поддержку баз данных, то компилятор можно вполне использовать для бизнес разработок...



[/quote]
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.25 15:29.15
Ответить с цитатой
Freepascal чем не устраивает? Свободный, бесплатный, тонны библиотек, доступ ко всем БД и т.д. и т.п.
Посмотреть профиль Отправить личное сообщение
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.25 17:48.21
Ответить с цитатой
xdsl писал(а):
Freepascal чем не устраивает? Свободный, бесплатный, тонны библиотек, доступ ко всем БД и т.д. и т.п.


Да тут дело вкуса, что использовать.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.25 17:55.19
Ответить с цитатой
тонны библиотек может и хорошее дело, но этож привязка к продукту. чем и хорош .нет - пиши на том языке, каком хочешь. запускается уже почти под всеми ОСями. а в моно можно вроде как вообще обойтись без установки моно - все библы с продуктом, правда не пробывал еще, свободной машинки нет линукса поставить
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.25 18:05.56
Ответить с цитатой
andy ice писал(а):
тонны библиотек может и хорошее дело, но этож привязка к продукту. чем и хорош .нет - пиши на том языке, каком хочешь. запускается уже почти под всеми ОСями. а в моно можно вроде как вообще обойтись без установки моно - все библы с продуктом, правда не пробывал еще, свободной машинки нет линукса поставить
_________________



Конечно, здесь ты прав. Идея net хороша.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.26 09:46.24
Ответить с цитатой
что .net, что java по одному принципу работают, плюсы которого очевидны, как и минусы. Разговор-же про ABCPascal, области его применения и возможной конкуренции с turbo-pascal, freepascal и delphi. Первому и последнему, как выяснили - неконкурент. По отношению к freepascal такая возможность отсутствует, причем идеи переноса ABCPascal на .net только отдаляют ее.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.26 09:56.59
Ответить с цитатой
почему дельфи-то не конкурент? что турбопаскалю не конкурент так это может для целей с песочком поиграть, а для реальных-то задач турбопаскаль я уж и не знаю куда можно применить, разве что для дос-станций, так в таком случае ФПД гораздо сильнее. (я про связь с БД конечно)

еще хотелось бы узнать минусы .net. java можно не упоминать, в нише .net java великий тормоз и сплошной геморой
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.26 15:06.28
Ответить с цитатой
Следуя логике, .net обеспечивает высокую ресурсоемкость и низкую скорость работы результирующего кода. Побыстрее, чем у чистого интерпретируемого языка, но коду на компилируемом в ассемблер языке уступает многократно. Если есть желание, можно потестировать на примере ресурсоемких задачек. На себя могу взять реализацию задачки на freepascal.

Добавлено спустя 1 минуту 28 секунд:

Про java спорить можно много, но факт остается - на ней куча корпоратива написана и пишется.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.26 15:13.13
Ответить с цитатой
естественно уступает, но не так сильно, как жава.

например был сдалан пример на коленке, "по быстрому", для конвертирования файлов ч/б жипег
- открыть файлы изображений по маске
- сконвертировать в ЧБ
- сохранить как originalname.ext.jpg

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Дайте имена файлов или маску");
                return;
            }
            for(int i=0;i<args.Length;i++)
            {
                DirectoryInfo dir = new DirectoryInfo(@".\");
                foreach (System.IO.FileInfo file in dir.GetFiles(args[i]))
                {
                    Console.Write("{0}, {1}", file.Name, file.Length);
                    try
                    {
                        Console.WriteLine("");
                        Console.WriteLine(file.FullName);
                        
                        System.Drawing.Image img = System.Drawing.Image.FromFile(file.Name);
                        img = MakeGrayscale3(img);
                        img.Save(file.Name + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                        Console.WriteLine(": Ok");
                    }
                    catch(Exception e)
                    {
                        Console.WriteLine(": Fail with {0}", e);
                    }

                       
                }
            }
        }

        public static Bitmap MakeGrayscale3(Image original)
        {
            //create a blank bitmap the same size as original
            Bitmap newBitmap =
               new Bitmap(original.Width, original.Height);

            //get a graphics object from the new image
            Graphics g = Graphics.FromImage(newBitmap);

            //create the grayscale ColorMatrix
            System.Drawing.Imaging.ColorMatrix colorMatrix = new ColorMatrix(
               new float[][] 
      {
         new float[] {.3f, .3f, .3f, 0, 0},
         new float[] {.59f, .59f, .59f, 0, 0},
         new float[] {.11f, .11f, .11f, 0, 0},
         new float[] {0, 0, 0, 1, 0},
         new float[] {0, 0, 0, 0, 1}
      });

            //create some image attributes
            ImageAttributes attributes = new ImageAttributes();

            //set the color matrix attribute
            attributes.SetColorMatrix(colorMatrix);

            //draw the original image on the new image
            //using the grayscale color matrix
            g.DrawImage(original,
               new Rectangle(0, 0, original.Width, original.Height),
               0, 0, original.Width, original.Height,
               GraphicsUnit.Pixel, attributes);

            //dispose the Graphics object
            g.Dispose();
            return newBitmap;
        }

    }
}

_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.26 18:15.09
Ответить с цитатой
xdsl писал(а):
но коду на компилируемом в ассемблер языке уступает многократно


Тестировать я не тестировал, но начет многократной уступки не согласен. Просто потому, что знаю, как это работает.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.26 20:22.38
Ответить с цитатой
Хм... В примере вижу, что метод MakeGrayscale3 - из туториала (напр. - http://blog.paranoidferret.com/index.php/2007/08/31/csharp-tutorial-convert-a-color-image-to-greyscale/ ), а Ваш - Main.
Ни то, ни другое ресурсов на уровне C# не кушает, т.к. использует заранее скомпилированный код системных классов.
Это все равно, что для решения той-же задачи я-бы у себя под линуксом написал
find . -type f -name "*.[jJ][pP][gG]" -exec convert -type grayscale "{}" "{}".jpg \;

Правда поиск по всем каталогам рекурсивно и конвертирует только джипеги (что-бы всякие левые файлы не захватывать), а в остальном - результат тот-же.
НО! Ни Вы не писали этот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;

Ни я не писал код утилит find и convert

Поэтому ни мое, ни Ваше решение не поможет определить уровень тормозов C# по сравнению с компилируемым языком.

Добавлено спустя 2 минуты 56 секунд:

Vladislav_133 писал(а):
Тестировать я не тестировал

непомнюкто писал(а):
Читать не читал, но осуждаю


Добавлено спустя 3 минуты 2 секунды:

Кстати, синтаксис у C# очень симпатишный. Почти паскалевский
Посмотреть профиль Отправить личное сообщение
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.26 20:48.03
Ответить с цитатой
xdsl писал(а):
Vladislav_133 писал(а):
Тестировать я не тестировал

непомнюкто писал(а):
Читать не читал, но осуждаю


Протестируем, но, думаю, что буду прав. Дело в том, программа (модуль) компилируется налету, а затем выполняется - выполняется уже двоичный код. Конечно он не так оптимизирован, как это делает, например, Visual C, но все же это совсем не интерпретация. В этом то и фокус. Тут суть в том, что задержка только в начале. Однако если программа имеет множество динамических библиотек (сборок), и будет постоянно к ним обращаться, здесь возможно замедление из-за вероятной перекомпиляции.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.26 21:11.58
Ответить с цитатой
xdsl писал(а):
Ни Вы не писали этот код
ах. я не писал библиотеки сишарпа. какая досада. вы вообще в реальной жизни ориентируесь? вы вообще пользовали программы .нет и жава?

ой да бесполезно всё. как с новисом говорить. жаль, что в педе такие отставшие от жизни фанатики работают. покеда. будут вопросы - в аську
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.26 22:14.12
Ответить с цитатой
andy ice писал(а):
ой да бесполезно всё. как с новисом говорить. жаль, что в педе такие отставшие от жизни фанатики работают. покеда.

Какая жаль.
andy ice писал(а):
ах. я не писал библиотеки сишарпа. какая досада. вы вообще в реальной жизни ориентируесь? вы вообще пользовали программы .нет и жава?

andy ice, если Вы не желаете вести диалог, можете сказать об этом прямо, вместо того, чтобы выхватывать фразу из контекста и махать ей как флагом на демонстрации. Библиотеки C# Вы действительно не писали, но почему это вызывает у Вас столь агрессивно-подростковую реакцию, мне не ясно. Лично я не писал ни find, ни convert, что не помешало мне ими воспользоваться для решения предложенной Вами задачи. Или Вас вывело из себя то, что почти сотню строк на C# можно с легкостью заменить на одну строку sh-скрипта (20 секунд написания+10 секунд проверки+15 секунд исправления+ 1 минута на подготовку большого набора исходных данных и окончательную проверку)? Ну да ладно. Дальнейшее уже не к Вам, andy ice, т.к. Вы самоустранились.

В.Ю., лично меня заинтересовал вопрос оптимизации. Давайте действительно проведем эксперимент, придумаем несложную, но ресурсоемкую задачку, решим ее с минимальным использованием внешних библиотек на C# и freepascal и сравним скорость работы. Будут вполне реальные и проверяемые результаты.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.26 22:20.09
Ответить с цитатой
ты как ребенок, convert и под виндой есть и из .бат-файла можно вызвать. я использовал нативные библиотеки .net как пример для одного из знакомых. пипец. какой может быть диалог с фанатиком, который вместо конкретной задачи начинает юлить и кричть про шелл. я фигею.
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.27 14:55.05
Ответить с цитатой
andy ice, ВАШ пример ничего не доказал и не опровергнул. Как и мой. Что и было сказано. Если ВЫ там еще что-то между строчек вычитали, это исключительно проблемы ВАШЕГО воображения. Могу только посочувствовать, но отвечать на хамство и явный бред не буду.

Еще раз предлагаю всем программерам, кого действительно интересует сравнение производительности кода на freepascal и С#, придумать и решить ресурсоемкую задачку, а затем сравнить потребление ресурсов (время работы, память, cpuunits и т.д.). Будет интересно сравнить также производительность кода на разных осях. Правда у mono платформ для работы поменьше, чем у freepascal, но уж как-нибудь без доса и нетвари обойдемся, имхо.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.27 15:08.29
Ответить с цитатой
xdsl
я предложил задачу. реальную такую задачу с примером. вы отказались предоставить аналог на паскале, предлагайте свою задачу, в чем проблема-то? нет, вывернулись левым примером упуская из виду, что использование внешних утитлит не является прерогативой sh. вместо продолжения разговора, что-то типа, "давайте возьмем за основу пример, только реализуем алгоритм распаковки жипега в RGBA (битмап) самостоятельно. формат такой-то". было это сделано? нет. на возражения Владислава вы не прореагировали.

Добавлено спустя 6 минут 49 секунд:

и еще. те самые using использовались системные. что означает то, что данная программа выполнится везде, где имеется .net. как альтернативу вы могли бы предложить аналогичную библиотеку на фрипаскале, пусть не штатную, а любую. тоже не было сделано.
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.27 16:02.06
Ответить с цитатой
Еще раз повторяю, эта задача ничего не скажет о производительности C#, т.к. весь C#-код укладывается в перебор содержимого каталога, все остальное во внешних библиотеках. Вы как собираетесь сравнивать эффективность кода С# и freepascal в различных реализациях библиотек обработки джипега?

andy ice писал(а):
на возражения Владислава вы не прореагировали
Какие возражения?

andy ice писал(а):
"давайте возьмем за основу пример, только реализуем алгоритм распаковки жипега в RGBA (битмап) самостоятельно. формат такой-то"
Это Ваше предложение? Если да, то возьмусь представить реализацию на freepascal, т.к. решение действительно позволит сравнить ресурсоемкость программ. Осталось только согласовать условия задачи. Вы возьметесь представить реализацию на C#?
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.27 16:17.29
Ответить с цитатой
xdsl писал(а):
Это Ваше предложение?
это пример предложения, намек на того, кто на самом деле "не хочет продолжить диалог". пишите любой текст на паскале, попробую в лоб перевести на c#

xdsl писал(а):
Вы как собираетесь сравнивать эффективность кода С# и freepascal в различных реализациях библиотек обработки джипега?
я даже подозреваю, что C#-ские (а может библиотеки и на бейсике написаны, исходники не удосужился посмотреть), реализованы более громоздким алгоритмом, в виду избыточной функциональности. вы же не удосужились предоставить никакого решения на паскале. в заведомо выигрышном варианте.

xdsl писал(а):
Какие возражения?

Vladislav_133 писал(а):
программа (модуль) компилируется налету, а затем выполняется - выполняется уже двоичный код


Добавлено спустя 4 минуты 48 секунд:

судя по именованию файлов библиотек и кускам кода .net-библиотеки написаны на C#, так что факт, что они "внешние" скорость не увеличат, а вот быстроту разработки как мы видим очень даже увеличивают.

http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.27 21:44.33
Ответить с цитатой
В ближайшее время проверкой займусь. Проверять, разумеется, надо не библиотеки, а как работает сам код. Для этого надо взять очень простой алгоритм, но с достаточно большим временем исполнения.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.27 22:09.39
Ответить с цитатой
andy ice писал(а):
вы же не удосужились предоставить никакого решения на паскале.

Только чтобы пресечь дальнейшее Ваше злобствование, выкладываю:

{$mode objfpc}{$h+}

uses
     fpreadjpeg, fpwritejpeg, FPImage, classes, sysutils;

var img : TFPMemoryImage;
    reader : TFPCustomImageReader;
    Writer : TFPCustomimageWriter;
var S:tsearchrec;

procedure GrayImage;
 var x,y:integer;  gray:word;
begin
 for x:=0 to img.width-1 do
  for y:=0 to img.height-1 do begin
    gray:=CalculateGray(img.colors[x,y]);
    img.colors[x,y]:=FPColor(gray,gray,gray);
  end;
end;

procedure convert(fname:string);
 begin
  img.LoadFromFile (fname, Reader);
  GrayImage;
  img.SaveToFile (fname+'.gray.jpg', Writer);
 end;

begin
  if findfrst('./*.jpg', faAnyFile-faDirectory, s)=0 then  begin
   img := TFPMemoryImage.Create(0,0);
   img.UsePalette:=false;
   Reader := TFPReaderJPEG.Create;
   Writer := TFPWriterJPEG.Create;
   repeat convert(s.Name); writeln(s.name); until findnext(s)<>0;
   FindClose(s);
   Reader.Free;
   Writer.Free;
   Img.Free;
  end;
end.


Сделано на основе imgconv.pp из исходников freepascal. Перебор - мой, конвертер - тоже. Переписыванием класса TFPMemoryImage (наследовать не получается по причине переноса некоторых важных методов из protected в private) ускоряется раза в полтора (по причине конвертирования "на лету").

А теперь скажите, плиз: Вы понимаете разницу между бессмысленным и осмысленным занятием? Ни Ваше, ни мое решение задачи абсолютно ничего не раскрывает по существу вопроса.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.27 22:25.56
Ответить с цитатой
как минимум можно проверить вот это утверждение
xdsl писал(а):
уступает многократно



ждем кушабельного алгоритма.

ps: а можно exe? или ссылку где это всё скачать для компиляции примера
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.27 22:54.22
Ответить с цитатой
Vladislav_133 писал(а):
Для этого надо взять очень простой алгоритм, но с достаточно большим временем исполнения.

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

Думал, может MD5SUM подсчитать, но глянул - в исходниках freepascal уже есть, так что неинтересно. Надо что-то неизбитое.

Добавлено спустя 21 минуту 19 секунд:

andy ice писал(а):
как минимум можно проверить ...

Ничего эта проверка не докажет, и не опровергнет. Чего там проверять - обход каталога? Или тупой перебор цветонабора?

andy ice писал(а):
ps: а можно exe? или ссылку где это всё скачать для компиляции примера

exe у меня нет, только elf, грузить виртуалку для компиляции - влом.
Скачать компилятор со всеми либами - http://www.freepascal.org/download.var
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.27 23:43.09
Ответить с цитатой
xdsl писал(а):
мой, конвертер

?
xdsl писал(а):
Или тупой перебор цветонабора?
хм. а вы что собрались перебирать?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Leon
Бот-тролль 85 лв


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 61661


Статус: Offline
СообщениеДобавлено: 2008.11.27 23:50.37
Ответить с цитатой
xdsl писал(а):
т.к. они явно в дотнете системные


читеры Smile
_________________
Скажи мне чей Крым, и я скажу кто ты.
Посмотреть профиль Отправить личное сообщение
Петрович
Ведущий банщик


Пол: Пол:Муж.
Зарегистрирован: 31.08.2005
Сообщения: 1392
Откуда: Сибирь...

Статус: Offline
СообщениеДобавлено: 2008.11.28 09:37.42
Ответить с цитатой
Насколько я знаю бинарных леревьев нет ни в одном из перечисленных языков.

Сделайте реализацию бинарного дерева для целых чисел на классах. Его взвешенное заполнение и проверку наличия определенного целого числа. Оттестируйте на большом объеме данных.
Посмотреть профиль Отправить личное сообщение ICQ Number
Vladislav_133
Old Programmer


Пол: Пол:Муж.
Зарегистрирован: 27.09.2006
Сообщения: 4502


Статус: Offline
СообщениеДобавлено: 2008.11.28 10:02.43
Ответить с цитатой
Петрович писал(а):
Насколько я знаю бинарных леревьев нет ни в одном из перечисленных языков.

Сделайте реализацию бинарного дерева для целых чисел на классах. Его взвешенное заполнение и проверку наличия определенного целого числа. Оттестируйте на большом объеме данных.



Понимаете, в C# нет ничего кроме классов, а, напрмиер, в C это можно реализовать по-разному. И вообще сравнивать работу с объектами, тут надо подходить адекватно. Нет, должен быть уж совсем простой алгоритм типа какого-нибудь простого перебора.
_________________
http://asm.shadrinsk.net
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.28 10:43.18
Ответить с цитатой
Согласен, что вариант бинарного дерева на классах будет неадекватен поставленной задаче, но не по причине разных способов реализации. Я согласен реализовать его именно на классах во freepascal и сравнить затем с аналогичной реализацией на C#. НО! Что делать со вмешательством в алгоритм двух разных ООП-реализаций? Без малейшего понятия, как их можно сравнить, вернее как отделить "мух" от "котлет".

Блин, вот ведь проблема. Ну не пузырьком-же массив сортировать, неинтересно это.
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2008.11.28 10:48.33
Ответить с цитатой
xdsl писал(а):
Что делать со вмешательством в алгоритм двух разных ООП-реализаций?
а ничего не надо делать. как раз показательно будет, в отличии от тупого перебора чисел в памяти.

или кто-то пишет аппликухи без классов. может еще без гуя? Smile
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2008.11.28 10:57.24
Ответить с цитатой
Хм, что-то пришло в голову взять одну из старых прорешанных олимпиадных задачек, например - отсюда http://shgpi.shadrinsk.net/scripts/tasks/
Скажем - "Видеопамять"

На сервере могу поднять mono и прогонять результат на С# через него. Заодно и оценить разницу в работе mono и .net

Если вариант устраивает, прошу кивнуть тех, кто будет писать на C#
Посмотреть профиль Отправить личное сообщение
Страница 8 из 21
Начать новую тему   Ответить на тему   вывод темы на печать
На страницу Пред.  1, 2, 3 ... 7, 8, 9 ... 19, 20, 21  След.
Показать сообщения:   
Список форумов Шадринский форум -> Программирование -> Delphi, Pascal, C, C# -> Паскаль умер!

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы