Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какой язык больше похож на Delphi? 
:(
    Опции темы
diadiavova
Дата 31.7.2009, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(LamerTM @  31.7.2009,  21:37 Найти цитируемый пост)
Я неправильно понимаю код?

Извиняюсь, это я невнимательно прочитал. smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
wester
Дата 31.7.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009




Код

private void button1_Click(object sender, System.EventArgs e)
        {
            DateTime dd=DateTime.Now;
            int i; // можно иннициализировать в цикле (int i = 0;....)
            int k=0; 
            for(i=0;i<1000000000;i++) k=k+1; 
            TimeSpan f=DateTime.Now-dd; // зачем плодить обьекты в куче ?
            button1.Text=f.ToString();  // ужас какая затратная операция , потому что каждый раз она преобразует pbject в тип int
            Text =k.ToString(); // и нельзя это как нибудь сократить 
        }

ну а так в принципе замечаний по коду нет  smile 
PM MAIL   Вверх
LamerTM
Дата 31.7.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.3.2006




Цитата(mr.Anderson @ 31.7.2009,  20:17)
а вообще C++ Builder.

Еще слышал про Microsoft Visual C++ (вроде так). Это не то? Там какая-то принципиальная разница есть?
PM MAIL   Вверх
mr.Anderson
Дата 31.7.2009, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко




LamerTM, это совершенно разные вещи. Builder - клон Delphi, с дополнительными багами и другим языком как основой. MS VC++ - вообще другая вещь, я ее видел вплоть до 6-й версии - это бред, никаких визуальных редакторов, разработка в целом чистым WinAPI и MFC, что бред. И она сейчас трансформировалась в MS VS, насколько я в курсе, в которой на C# в том числе пишут. А если хочешь клон Delphi - это C++ Builder. Он, начиная с 2007, идет в комплекте с дельфой (RAD Studio 2007+).


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Cheloveck
Дата 31.7.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула




Цитата(mr.Anderson @  31.7.2009,  23:32 Найти цитируемый пост)
Builder - клон Delphi, с дополнительными багами

+1

Цитата(mr.Anderson @  31.7.2009,  23:32 Найти цитируемый пост)
MS VC++ - вообще другая вещь, я ее видел вплоть до 6-й версии - это бред, никаких визуальных редакторов, разработка в целом чистым WinAPI и MFC, что бред.

Эмм... вообще-то в студии есть редактор диалгов визуальный. Можно интегрировать Qt вместе с его редактором форм. MFC и WinAPI далеко не обязательно, я в последнее время пишу на STL + boost, и только графику на чём-то другом.

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



--------------------
user posted image
PM Jabber   Вверх
Alexeis
Дата 1.8.2009, 10:23 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград




  Ребята ну глупость же менять язык только потому что невозможны циклические ссылки в заголовках.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
wester
Дата 1.8.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009




LamerTM
потестил код , а разве две секунды это много ?


PM MAIL   Вверх
LamerTM
Дата 1.8.2009, 12:12 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.3.2006




Цитата(Alexeis @ 1.8.2009,  10:23)
Ребята ну глупость же менять язык только потому что невозможны циклические ссылки в заголовках.

А как иначе решить проблему? Или ради сохранения верности языку можно забыть что он предназначен для решения практических задач? То есть вообще перестать развивать программу (потому что это сейчас мне представляется невозможным) и смотреть на заставку Делфи испытывая священный трепет? Я и сам не хочу, я привык к делфям, я их любил. Я пишу на них 6 лет, и ни чем другом таикх больших программ никогда не писал. Но для меня важна цель. Если язык не позволяет ее достичь, то такой язык мне не нужен. Ограничение является искусственным. Оно ненормально. Оно мазохисткое. Сродни приковыванию себя наручниками к постели.

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

Добавлено @ 12:18
Цитата(wester @ 1.8.2009,  10:37)
LamerTM
потестил код , а разве две секунды это много ?

Не 2 секунды, а в 2 раза медленее. 10-30% я еще могу простить. 100% - однозначно язык фтопку. Я лучше все буду писать в одном модуле на делфях, чем удобно но тормозно на C#. Такие вот у меня приоритеты. Скорость для меня очень важна. Я очень много вычисляю, вычисления длятся иногда часами. На C# вместо 30 минут код будет выполняться час.

Это сообщение отредактировал(а) LamerTM - 1.8.2009, 12:21
PM MAIL   Вверх
mr.Anderson
Дата 1.8.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко




LamerTM, почитай в сторону unsafe-кода на C#.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Alexeis
Дата 1.8.2009, 16:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград




Цитата(LamerTM @  1.8.2009,  11:12 Найти цитируемый пост)
Я там конечно посмотрю что еще можно сделать. Конечно в крайнем случае я всю программу забью в один модуль на несколько МБ кода. Но это будет последнее что я сделаю на этом языке. Если конечно не обнаружу ошибку в своих логических рассуждениях.

  Да ну зачем? Делается абстрактный класс или интерфейс в общем модуле, потом от него наследуются либо как от главного либо как от второго предка. Это мощный механизм инкапсуляции позволяющий строить максимально гибкие приложения. Посмотри на структуру VCL куча модулей с продуманной структурой и ни где нет необходимости циклического включения. Наоборот даже много классов прячется в Imlementation чтобы сокрыть детали реализации и оставить максимально простой интерфейс.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Alkash
Дата 1.8.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /




Погляди в сторону Delphi Prism.


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
unicuum
  Дата 1.8.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка




Цитата(LamerTM @  31.7.2009,  14:57 Найти цитируемый пост)
Какой язык больше всего похож на Delphi

Brainfuck smile


--------------------
user posted image
обычный день на винграде
PM   Вверх
diadiavova
Дата 2.8.2009, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте




Цитата(LamerTM @  1.8.2009,  13:12 Найти цитируемый пост)
Не 2 секунды, а в 2 раза медленее. 10-30% я еще могу простить. 100% - однозначно язык фтопку. Я лучше все буду писать в одном модуле на делфях, чем удобно но тормозно на C#. Такие вот у меня приоритеты. Скорость для меня очень важна. Я очень много вычисляю, вычисления длятся иногда часами. На C# вместо 30 минут код будет выполняться час.

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

void test1()
{
    double l = 0;
    for(int i = 0; i < 1000000000; i++)
    {
        for(int j = 0; j < 1000000000; j++)
        {
            for(int k = 0; k < 1000000000; k++)
            {
                l++;
            }
            l = 0;
        }
    }
    cout<<l;
}

и время выполнения было равно нулю. Понятно, что это "дело рук" компилятора, который просто оптимизировал код.

Второй тест 

Код

void test2()
{
    double l = 0;
    for(int i = 1; i <= 10; i++)
    {
        for(int j = 0; j < 1000000000; j++)
        {
                l++;
        }
        l = l / i;
    }
    cout<<l;
}


показал что-то около 18 секунд, в то время, как на шарпе его аналог выполнялся около 56 секунд ( в три раза дольше).

А вот третий тест
Код

void test3()
{
    double k = 0;
    for(double i = 0; i < 100000000; i++)
    {
        k = k + sin(i);
    }
    cout << k;
}


на шарпе выполнился даже быстрее чем на плюсах. При этом надо заметить, что третий тест(в отличии от первых двух) оптимизировать вообще невозможно, придётся выполнять.

Так что с выводами ты возможно поспешил smile Хотя для того, чтобы судить о чём-то моих тестов тоже недостаточно.

ЗЫ
Плюсов не знаю, возможно что-то и намудрил. Поэтому прилагаю код.


Код

// SpeedTest.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <string.h>
#include <math.h>
using namespace std;
void test1()
{
    double l = 0;
    for(int i = 0; i < 1000000000; i++)
    {
        for(int j = 0; j < 1000000000; j++)
        {
            for(int k = 0; k < 1000000000; k++)
            {
                l++;
            }
            l = 0;
        }
    }
    cout<<l;
}

void test2()
{
    double l = 0;
    for(int i = 1; i <= 10; i++)
    {
        for(int j = 0; j < 1000000000; j++)
        {
                l++;
        }
        l = l / i;
    }
    cout<<l;
}


void test3()
{
    double k = 0;
    for(double i = 0; i < 100000000; i++)
    {
        k = k + sin(i);
    }
    cout << k;
}
int _tmain(int argc, _TCHAR* argv[])
{
    int x;
    int k = 0;
    cout << "Win32 speed test \n\r";
    clock_t startTime,endTime;
    startTime = clock();
    //test1();
    //test2();
    test3();
    endTime = clock();
    printf_s("\n\r Used time :    %2.3f seconds\n\r",(double)(endTime - startTime)/CLOCKS_PER_SEC);
    cout<<k;
    cin >> x;
    return 0;
}



Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SpeedTestCLR
{
    class Program
    {
        static int test2()
        {
            double l = 0;
            for (int i = 1; i <= 10; i++)
            {
                for (int j = 0; j < 1000000000; j++)
                {
                    l++;
                }
                l = l / i;
            }
            return 0;
        }

        static void test3()
        {
            double k = 0;
            for (double i = 0; i < 100000000; i++)
            {
                k = k + Math.Sin(i);
            }
        }

        static void Main(string[] args)
        {
            double k = 0;
            Console.WriteLine("CLR speed test");
            var sw = System.Diagnostics.Stopwatch.StartNew();
            //test2();
            test3();
            Console.WriteLine("Used time :    {0} seconds", (double)sw.ElapsedMilliseconds/1000);
            Console.WriteLine(k);
            Console.ReadKey();
        }
    }
}



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Lazin
Дата 2.8.2009, 08:21 (ссылка) |  (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




тема - lol smile
PM MAIL Skype GTalk   Вверх
LamerTM
Дата 2.8.2009, 15:43 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 11.3.2006




Цитата(Alexeis @ 1.8.2009,  16:47)
  Да ну зачем? Делается абстрактный класс или интерфейс в общем модуле, потом от него наследуются либо как от главного либо как от второго предка. Это мощный механизм инкапсуляции позволяющий строить максимально гибкие приложения. Посмотри на структуру VCL куча модулей с продуманной структурой и ни где нет необходимости циклического включения. Наоборот даже много классов прячется в Imlementation чтобы сокрыть детали реализации и оставить максимально простой интерфейс.

Не понял о чем это, но похоже это какое-то извращение. Мне надо было вставить одну ссылку. А тут столько писать. Да еще модули дополнительные. Вот в упор не понимаю зачем они. С точки зрения здравого смысла не понимаю. Хотя с точки зрения компилятора делфи они может быть и необходимы.

"Абстрактный класс", "наследуются", "от предка", хм... так все же классы потомки TObject. Ну я тормоз. Можно определить поле как TObject. А потом обращаться к нему через as. Будет как через ass, но на первое время сойдет. Геморно конечно и неудобно, и даже слегка извращенно, но по крайней мере новых модулей делать не надо и код в кашу смешивать тоже.




diadiavova

Функция Sin сложная и скорее всего написана в обоих языках на асме. Отсюда другие резалты. В том коде что ты привел, бОльшую часть времени будет выполняться функция sin, то есть команды асма (или как она там реализована), а не команды тестируемого языка. Если функция синуса написана на чистом C#, то я сильно удивлюсь.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1366 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.