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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi - приемущества и недостатки, принимаются различные высказывания 
:(
    Опции темы
nerezus
Дата 4.1.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

Репутация: 13
Всего: 43



Цитата

в том что считаешь , что только на питоне можно написать хранимую ф_цию для постгрескл!
 Я не говорил, что только на питоне. Где ты такое взял? Приведи сюда тот пост, в котором я это говорил.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
pythonwin
Дата 4.1.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 36



Цитата(Romikgy @  4.1.2007,  18:43 Найти цитируемый пост)
в том что считаешь , что только на питоне можно написать хранимую ф_цию для постгрескл!

у neresus именно таких слов я не нашел...
Цитата(Romikgy @  4.1.2007,  18:43 Найти цитируемый пост)
(правда код может стать сложнее и навороченее , но реальность остается реальностью, любой код можно реализовать на любом языке!) 

почти согласен!
только вопрос времени и денег...
PM WWW GTalk Jabber   Вверх
Romikgy
Дата 4.1.2007, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Извиняюсь что поднимаю , но 

Цитата(Daevaorn @  1.1.2007,  21:08 Найти цитируемый пост)
typedef std::basic_string< int > MySuperStringWith4byteCharacter;

есть встроеный
Код

UCS4Char = type LongWord;
UCS4String = array of UCS4Char;

да и вообще в дельфи любой динамический массив ведет ся как строка
Цитата(Daevaorn @  1.1.2007,  21:08 Найти цитируемый пост)
//2
template< class CharT>
class MyCharTraits: public std::char_traits< CharT >
{
public:
    //redefine some typedefs
public:
    static int compare(const CharT *_First1, const CharT *_First2, size_t _Count )
    {    
        return stricmp( _First1, _First2 );
    }
};
typedef std::basic_string< char, MyCharTraits< char > > MyString;

Код

var s1,s2: string;
begin
if
StrIComp(Pchar(s1),Pchar(s2))=0
then
// равны без регистра
end;


Цитата(Daevaorn @  1.1.2007,  21:08 Найти цитируемый пост)
/3
template< class CharT>
class MySmartAllocator: public std::allocator< CharT >
{
public:
    //redefine some typedefs
public:
    void deallocate(pointer _Ptr, size_type)
    {    
        // Контролирую освобождение
        // какой-то код
        ::operator delete(_Ptr);
    }
    pointer allocate(size_type _Count)
    {    
        // Контролирую выделение
        // какой-то код
        return std::allocator::allocate( _Count );
    }
    pointer allocate(size_type _Count, const void _FARQ *)
    {    
        // Контролирую выделение
        // какой-то код
        return std::allocator::allocate( _Count );
    }
};
typedef std::basic_string< char, std::char_traits< char >, MySmartAllocator< char > > MyString;

немного упрощеный вариант
ибо в выше приведеном коде так же ничего аллокатор кроме выделения памяти не делает
Код

var sx: string;

setlength(sx,{размер самой строки});

Цитата(Daevaorn @  1.1.2007,  21:08 Найти цитируемый пост)
//4
bool foo()
{
    MyString str1 = "New Year!";
    MyString str2 = "Year";
    return std::find( str1.begin(), str1.end(), str2 ) != str1.end();
}

Код

function foo: boolean;
var s1,s2: string;
begin
Result:=false;
s1:='New Year!';
s2:='Year';
if Pos(s2,s1)<>0 then Result:=true;
end;

PS интересная вещь эта stl хотя и странная 

Добавлено @ 16:25 
Цитата(nerezus @  4.1.2007,  15:00 Найти цитируемый пост)
Я не говорил, что только на питоне. Где ты такое взял? Приведи сюда тот пост, в котором я это говорил. 

Цитата(nerezus @  3.1.2007,  10:15 Найти цитируемый пост)
Причина проста: хранимых процедур на делфи нет ни в одной СУБД, а хранимые процедуры на питоне использовать можно в том же, например, PostgreSQL.

Цитата(pythonwin @  4.1.2007,  15:02 Найти цитируемый пост)
у neresus именно таких слов я не нашел...

именно таких нет , но подозревал имхо 
Цитата(pythonwin @  4.1.2007,  15:02 Найти цитируемый пост)
только вопрос времени и денег... 

это второй вопрос , одно сейчас важно , это то что можно написать , и слова типа

Цитата(nerezus @  4.1.2007,  14:07 Найти цитируемый пост)
Цитата

то никто не мешает написать и на дельфи! 
 пример в студию. Я не верю ) Честно.
Не спорю, что это можно теоретически. Теоретически можно все. А практически? 

имхо не отвечают действительности!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Daevaorn
Дата 4.1.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Romikgy @  4.1.2007,  17:20 Найти цитируемый пост)
есть встроеный

код Pascal/Delphi
1:
2:

UCS4Char = type LongWord;
UCS4String = array of UCS4Char;

Да. И все стандартные строковые функции с ними работать будут? В том числе и операторы сравнение, сложения и присваивания?

Цитата(Romikgy @  4.1.2007,  17:20 Найти цитируемый пост)


код Pascal/Delphi
var s1,s2: string;
begin
if
StrIComp(Pchar(s1),Pchar(s2))=0
then
// равны без регистра
end;

Ты нарушил стандартную семантику сравнения строк - потерял гибкость.

Цитата(Romikgy @  4.1.2007,  17:20 Найти цитируемый пост)
немного упрощеный вариант
ибо в выше приведеном коде так же ничего аллокатор кроме выделения памяти не делает

код Pascal/Delphi
var sx: string;

setlength(sx,{размер самой строки});

Не надо ля-ля. Ты не можешь выбрать область памяти, произвести оптимизацию и т.д. И что делать в таком случае: str1 = str2 + "something"; ? Нет гибкости, ты не можешь контролировать менеджмент памяти для строки.

Цитата(Romikgy @  4.1.2007,  17:20 Найти цитируемый пост)
function foo: boolean;
var s1,s2: string;
begin
Result:=false;
s1:='New Year!';
s2:='Year';
if Pos(s2,s1)<>0 then Result:=true;
end;

Нет. Ты используешь встроенные строки. Я же использую свой тип строк(ну например из пункта выше) + стандартный алгоритм. Нет гибкости.

Вобщем не зачет. Хотя за попытку спасибоsmile
PM MAIL WWW   Вверх
nerezus
Дата 4.1.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

Репутация: 13
Всего: 43



Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
pythonwin
Дата 4.1.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 36



Цитата(Romikgy @  4.1.2007,  19:20 Найти цитируемый пост)
именно таких нет , но подозревал имхо 


Цитата(nerezus)
PL, Perl, Python, Java

Romikgy, ты ошибся, когда плохо подумал про nerezus, - 
Код

nerezus != "Ламер" and "любимый язык у nerezus" == PHP 


Цитата(Romikgy @  4.1.2007,  19:20 Найти цитируемый пост)
это второй вопрос , одно сейчас важно , это то что можно написать , и слова типа


Цитата(pythonwin @  4.1.2007,  19:02 Найти цитируемый пост)
почти согласен!
только вопрос времени и денег... 

Romikgy, если мне кто-то на питоне можно написать ВСЁ что угодно - я теоритически поверю ему - а вот на практике есть:
1) время
2) деньги
3) характиристики ПК

писать ОС на питоне можно (Romikgy, есть такой человек - студент - наш форумчанин). 

всякий изврат IMHO держиться больше на энтузиазме, т.к. зачем платить программисту 500$ за прогу на дельфи (питоне или др.), когда есть за 10-50$ на другом языке.
PM WWW GTalk Jabber   Вверх
MAKCim
Дата 4.1.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

писать ОС на питоне можно

если в нем есть встроенный ассемблер  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

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


found myself
****


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

Репутация: 2
Всего: 121



Цитата

писать ОС на питоне можно


Ребята, вот такие заявления требует доказательств, тут уж никак без нихsmile



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
nerezus
Дата 4.1.2007, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

Репутация: 13
Всего: 43



Цитата

Ребята, вот такие заявления требует доказательств, тут уж никак без них
 Ну про то, что на делфи можно - писали еще раньше в этой теме ;)
Пусть сами сначала ОС напишут и покажут )

Это сообщение отредактировал(а) nerezus - 4.1.2007, 17:15


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MAKCim
Дата 4.1.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

Ребята, вот такие заявления требует доказательств, тут уж никак без них

точно
я утверждаю, что на Python-е ОС не напишешь, могу объяснить почему


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
skyboy
Дата 4.1.2007, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(W4FhLF @  4.1.2007,  16:12 Найти цитируемый пост)
Ребята, вот такие заявления требует доказательств

а запросто. причем доказательства будут в аксиомах и логических выводах.
ОС - это программный комплекс, назначение которого обеспечение взаимодействия между своими компонентами(драйвера и приложения уровня пользователя; абстракции железа вроде портов и содержимое памяти). всё? я что-то забыл? 
и что из этого нельзя написать даже на javascript? низкоуровневые операции с портами нереализуемы? полноте, это зависит только от браузера. и на Питоне ОС вполне можно написать. будет ли написанная ОС независимой? нет, нужен будет интерпретатор. Но это всё равно будет ОС!

Добавлено @ 17:21 
Цитата(MAKCim @  4.1.2007,  16:16 Найти цитируемый пост)
я утверждаю, что на Python-е ОС не напишешь, могу объяснить почему 

ждём-с smile
PM MAIL   Вверх
pythonwin
Дата 4.1.2007, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 36



Цитата(MAKCim @  4.1.2007,  20:16 Найти цитируемый пост)

точно
я утверждаю, что на Python-е ОС не напишешь, могу объяснить почему 

Цитата(MAKCim @  4.1.2007,  20:09 Найти цитируемый пост)
Цитата
писать ОС на питоне можно
если в нем есть встроенный ассемблер  smile  

Цитата(W4FhLF @  4.1.2007,  20:12 Найти цитируемый пост)
Ребята, вот такие заявления требует доказательств, тут уж никак без нихsmile

если интересно посмотреть на эту разработку, то посмотрите в разделе python на нашем форуме - там есть две-три темы. Как я понял многие моменты на питоне.


Это сообщение отредактировал(а) pythonwin - 4.1.2007, 17:22
PM WWW GTalk Jabber   Вверх
Romikgy
Дата 4.1.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(nerezus @  4.1.2007,  15:35 Найти цитируемый пост)
ч.т.д.
А вот всякие нереальные предположения - втопку. 

Я привел цитату твою, имхо там были твои слова,
если я тя не правильно понял , я извеняюсь ...
по поводу PostgreSQL и хранимых ф_ций
ссылки с сайта PostgreSQL 8.2.0 Documentation
вот про сам язык
http://www.postgresql.org/docs/8.2/static/xplang.html
если я правильно понял
Цитата

PostgreSQL allows user-defined functions to be written in other languages besides SQL and C. These other languages are generically called procedural languages (PLs). 

то это обозначает , что эта БД понимает , как в этом примере
http://www.postgresql.org/docs/8.2/static/plhandler.html
Код

CREATE FUNCTION plsample_call_handler() RETURNS language_handler
    AS 'filename'
    LANGUAGE C;

и как описано выше , только SQL и С
а PL это как расширение, только я не понял как оно там прилеплено smile
Ладно значит с Си языком смотрим есть код продедуры
Код

#include "postgres.h"
#include "executor/spi.h"
#include "commands/trigger.h"
#include "fmgr.h"
#include "access/heapam.h"
#include "utils/syscache.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"

PG_FUNCTION_INFO_V1(plsample_call_handler);

Datum
plsample_call_handler(PG_FUNCTION_ARGS)
{
    Datum          retval;

    if (CALLED_AS_TRIGGER(fcinfo))
    {
        /*
         * Called as a trigger procedure
         */
        TriggerData    *trigdata = (TriggerData *) fcinfo->context;

        retval = ...
    }
    else
    {
        /*
         * Called as a function
         */

        retval = ...
    }

    return retval;
}

как же ее прилепить к БД , уходим по ссылке
http://www.postgresql.org/docs/8.2/static/xfunc-c.html#DFUNC
и видем что ее компилировать надо 
Цитата

Linux

    The compiler flag to create PIC is -fpic. On some platforms in some situations -fPIC must be used if -fpic does not work. Refer to the GCC manual for more information. The compiler flag to create a shared library is -shared. A complete example looks like this:

    cc -fpic -c foo.c
    cc -shared -o foo.so foo.o

т.е. в конце получаем obj файл (правда для виндов ничего не видно а то можно было поэксперементировать smile)
а получить обиджи файл можно не только на С или С++
так что вывод :
этой БД можно подсунуть скомпилированый объектный файл , (только правильно) и указать язык С и база его съест smile 
как говорил один из форумчан Ч.Т.Д. smile

Цитата(pythonwin @  4.1.2007,  15:47 Найти цитируемый пост)
ты ошибся, когда плохо подумал про nerezus

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

Цитата(pythonwin @  4.1.2007,  15:47 Найти цитируемый пост)
сли мне кто-то на питоне можно написать ВСЁ что угодно

сново по новому кругу smile
ну не то я имел ввиду, не абсолют , а некоторые алгоритмы, которые можно реализовать на любых языках,
ссылку кто то приводил на сравнения языка Си и Ява , так что там сравнивали написание ОС????
Цитата(pythonwin @  4.1.2007,  15:47 Найти цитируемый пост)
писать ОС на питоне можно 

как ты предлагаешь ?
нет , и как здесь говорилось каждый язык имеет свою нишу, пусть там и работает!
и сравнивать имхо нужно , только продукты одного уровня,
давайте заканчивать с ПИТОНОМ,
ибо он отношения к дельфи не имеет, а топ про дельфи!
заводите топ о питоне, и обсуждайте его!

Цитата(pythonwin @  4.1.2007,  15:47 Найти цитируемый пост)
(Romikgy, есть такой человек - студент - наш форумчанин)

А вот это я не понял smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
pythonwin
Дата 4.1.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 1
Всего: 36



Цитата(Romikgy @  4.1.2007,  20:22 Найти цитируемый пост)

как ты предлагаешь ?

нет - её уже пишет один чел как свой дипломник или курсовой.
а я извратом занимаюсь только за деньги - кушать хочтся
Цитата(Romikgy @  4.1.2007,  20:22 Найти цитируемый пост)
давайте заканчивать с ПИТОНОМ,
ибо он отношения к дельфи не имеет, а топ про дельфи!
заводите топ о питоне, и обсуждайте его!

питон - это такой удав, который интегрируется и с C/C++, Java и даже с Delphi - можно в дельфях подключать питон.
Цитата(Romikgy @  4.1.2007,  20:22 Найти цитируемый пост)
А вот это я не понял smile 

короче - есть (может ещё есть) на форуме один программер - сейчас ищу его (блин, не записал сразу и сейчас вспомнить немогу smile ) темы  - там Он спрашивал какие-то моменты по разработке файловой системы (по-моему "Большие файлы" или что-то так) - как найду выложу ссылки и контакт.

PM WWW GTalk Jabber   Вверх
nerezus
Дата 4.1.2007, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

Репутация: 13
Всего: 43



Цитата

я утверждаю, что на Python-е ОС не напишешь, могу объяснить почему 
 Ну и почему?
Только давай считать, что существует некий компилер(не интерпретатор/VM) питона ;)

Цитата

и как описано выше , только SQL и С
 Читать документацию не пачотна?

Functions in PL/Python are declared via the standard CREATE FUNCTION syntax:
Код

CREATE FUNCTION funcname (argument-list)
  RETURNS return-type
AS $$
  # PL/Python function body
$$ LANGUAGE plpythonu;

The body of a function is simply a Python script.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

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


 




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


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

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