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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Pascal sv C++ 
:(
    Опции темы
kurzon
Дата 6.10.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: -11



На каком языке больше возможностей работы с  строчками? 

Это сообщение отредактировал(а) kurzon - 6.10.2007, 18:25
PM MAIL   Вверх
Daevaorn
Дата 6.10.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



шаблонный характер std::string дает очень большой простор для различных маневров, чего нет у опонента
PM MAIL WWW   Вверх
Alexeis
Дата 6.10.2007, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Больше всего на АСМе.


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

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

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


Шустрый
*


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

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



Голосую за русский язык. smile 
PM MAIL   Вверх
Sanchezzz
Дата 6.10.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: нет
Всего: 60



ЗА русский это да smile . но если по теме то в обоих не мало того что есть так что сравнивать бессмысленно ставлю на с++ так что им больше пользуются 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
kurzon
Дата 6.10.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: -11



Цитата(Esperito @ 6.10.2007,  22:15)
Голосую за русский язык. smile

Голос прынят за С#

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


Опытный
**


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

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



асм полюбэ!
PM MAIL   Вверх
nerezus
Дата 7.10.2007, 14:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



не, brainfuck получше будет..


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


Архимед
****


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

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



Здесь всё начиналось, а здесь бенчмарк по строкам.

Что же касается возможностей - вопрос бредовый... Единственный известный мне язык, нативно приспособленный к работе со строками, - это perl со своими pcre и т.д.
В паскале есть определённый набор возможностей работы со строками, который ты можешь расширить только своими ф-циями. В С++ делай производный класс от std::string или QString(или ещё чего-нибудь) и добавляй к уже имеющемуся набору возможностей что угодно.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
NEW_M_A_N
Дата 7.10.2007, 20:56 (ссылка)    | (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В принципе не слушай ни кого! Пользуйся тем языком, который лучше знаешь. Ну а вообще посоветую лучше C++. Не потому что им чаще пользуются, а потому что там можно грамотно распряжаться памятью не резервирую место под символы, которых в строке вообще не будет, в отличии от Pascal.
PM MAIL   Вверх
archimed7592
Дата 7.10.2007, 21:16 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(NEW_M_A_N @  7.10.2007,  20:56 Найти цитируемый пост)
потому что там можно грамотно распряжаться памятью не резервирую место под символы, которых в строке вообще не будет, в отличии от Pascal. 

Чё, правда что ль? smile 


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Alexeis
Дата 7.10.2007, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



  Ну если говорить о Turbo Pascale, то правда, но едва ли о нем идет речь...


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

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

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


Одинокий волк
**


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

Репутация: нет
Всего: 15



Цитата

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


Цитата

В принципе не слушай ни кого! 


 smile   smile


--------------------
"Единственный способ изучать новый язык программирования - писать на нем 
программы." 
- Brian Kernighan

Remember, st1ng3r 
/server irc.ircline.ru /j #vingrad
PM   Вверх
GrayCardinal
Дата 14.10.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

Репутация: нет
Всего: 58



Цитата

асм полюбэ!

Поддерживаю smile


--------------------
PM MAIL WWW   Вверх
MrCherry
Дата 15.10.2007, 09:41 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



чем больше в универе долбят поганый паскаль - тем больше я его ненавижу.
ни один человек, который разбирается в с++ никогда не вернётся к паскалю.
PM MAIL   Вверх
Alexeis
Дата 15.10.2007, 10:00 (ссылка) |    (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



  Это кто там не знает что String без параметров в Turbo Pascal займет 256 байт, а с параметрами займет столько байт сколько установят?
Причем строка не может занимать больше 255 символов. Если не согласны так хоть поясните с чем. Конечно можно извратиться и работать с указателями, но это неудобно. 


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

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

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


Бывалый
*


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

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



Цитата(MrCherry @ 15.10.2007,  09:41)
ни один человек, который разбирается в с++ никогда не вернётся к паскалю.


Раньше я програмил тока на Паскале, я его неплохо знаю.

Потом я изучил си. Мне он кажется намного логичнее и проще!

В Паскале процедуры лишняя констроукция в си и без неё ниплохо.
{} - быстрей писать.
В си нинужно писать then.
В Паскале строгая типизация - это минус для меня.
В си нет тупова булевого типа!
% круче чем div, | круче чем or, ! круче not, & круче.
for в си намного ближе к низкому уровню и функциональнее
В си больше простых типов данных..
Объявлять переменные можно в любом месте, там же и инициализовывать..
В си есть модификаторы.

Единственное что в Паскале мне больше нравица это что там . заменяет . -> ::

А вопще мне асм больше всего нравица!!!



Это сообщение отредактировал(а) Den64 - 16.11.2007, 02:19
--------------------
Инагда пишу звуками.
PM WWW ICQ   Вверх
nerezus
Дата 16.11.2007, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

В Паскале строгая типизация - это минус для меня.
 В с++ тоже.

Цитата

В си нет тупова булевого типа!
 В С++ есть.

Не будешь же ты писать прикладнуху на С?


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


Эксперт
****


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

Репутация: 4
Всего: 154



В паскале нет шаблонов(может в Delphi добавили?), там возможно только процедурное программирование и объектно ориентированное(с ограничениями), на си++ можно писать к примеру в функциональном стиле (если есть желание), возможно обобщенное программирование и т.д.
Если в паскале нет к примеру сборки мусора, то с этим ничего не поделаешь, в программе на с++ можно при желании использовать сборку мусора, можно использовать подсчет ссылок на объекты, и тд, ограничений никаких нет.
PM MAIL Skype GTalk   Вверх
esperant0
Дата 16.11.2007, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 14



Цитата(NEW_M_A_N @ 7.10.2007,  20:56)
В принципе не слушай ни кого! Пользуйся тем языком, который лучше знаешь. Ну а вообще посоветую лучше C++. Не потому что им чаще пользуются, а потому что там можно грамотно распряжаться памятью не резервирую место под символы, которых в строке вообще не будет, в отличии от Pascal.

Прикольно, вы в начале призываете никого не слушать, а потом даете совет.


Так вас ведь то же не надо слушать. Согласно вашему совету. А значит не надо слушать что не надо никого не слушать, А значит всех надо слушать. Тогда придется и вас послушать. А вы говорите никого не слушать.


Вобщем вы сказанули противоречивую сентенцию. Противоречия как и тавтологии смысла не несут

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

Добавлено через 6 минут и 14 секунд
Цитата(MrCherry @ 15.10.2007,  09:41)
чем больше в универе долбят поганый паскаль - тем больше я его ненавижу.
ни один человек, который разбирается в с++ никогда не вернётся к паскалю.

чушь.


Колбасов после С++ вернулся к паскалю. Творожников вернулся. А вы говорите не один.




--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
MAKCim
Дата 16.11.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
В Паскале процедуры лишняя констроукция в си и без неё ниплохо.

согласен
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
{} - быстрей писать.

не аргумент
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
В си нинужно писать then.

не аргумент
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
В Паскале строгая типизация - это минус для меня.

субъективно
этот критерий не может дать оюъективный ответ, какой язык лучше/хуже
в разных ситуациях по-разному
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
% круче чем div, | круче чем or, ! круче not, & круче.

детский сад
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
for в си намного ближе к низкому уровню и функциональнее

функциональнее да
не понял только причем здесь низкий уровень
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
В си больше простых типов данных..

char, short, int, long, float, double
в Pascal?
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
Объявлять переменные можно в любом месте, там же и инициализовывать..

согласен
только копилятор обычно все равно выделяет место под стековый фрейм для хранения всех локальных переменных (с целью оптимизации)



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

PM MAIL   Вверх
Lazin
Дата 16.11.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(MAKCim @  16.11.2007,  09:55 Найти цитируемый пост)
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
Объявлять переменные можно в любом месте, там же и инициализовывать..

согласен
только копилятор обычно все равно выделяет место под стековый фрейм для хранения всех локальных переменных (с целью оптимизации)

Но в С++ компилятор вызовет конструктор именно там, где объявлена локальная переменная, а не при входе в функцию. Благодаря этому в программах на с++ можно использовать идиому raii.
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 16.11.2007, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(MAKCim @  16.11.2007,  09:55 Найти цитируемый пост)
char, short, int, long, float, double


Однобайтовые
char, 
byte, 
Shortint
Boolean  

Двубайтовые
word, 
SmallInt
Integer (зависит от процессора)

четырех байтовые
Longword
Longint
Pointer (Зависит от процессора)

8 ми байтовые
Int64

С плавающей точкой
Single - 4 байта
Real   - 6-8 байт
Double - 8 байт
Comp   - 8 байт (целое длинное считается сопроцессором )
Currency - 8 байт (4 фиксированных знака после запятой)
Extended  - 10 байт

Файлы

множества
set of <> 1-32 байта

Перечисляемый тип

Строка

Массив
-----------------------------
В паскале действительно Файлы, строки, массивы, множества являются фундаментальными типами. Сомнительно, что в Си больше встроенных типов. 

Цитата(MAKCim @  16.11.2007,  09:55 Найти цитируемый пост)
согласен
только копилятор обычно все равно выделяет место под стековый фрейм для хранения всех локальных переменных (с целью оптимизации)


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

Из серьезных плюсов. 
Гибкая работа с указателями.
Макросы (в С это действительно нужная штука)
Гибкая работа с CRT
Прозрачный механизм работы переменными объявленные как static
Прозрачный механизм ввода/вывода в стандартные потоки

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

Приемущества паскаля
  В pascal е этому противопоставляется ясная и последовательная схема приоритета видимости переменных при возникновении конфликтов имен и доступа к переменным с меньшим приоритетом. 
  Строковые операторы работающие над типами строк (строка ведь встроенный тип как Integer).
  В конце, концов объекты. Стандарт Pascal был в последних версиях определен как Pascal with Objects. (не путать с Object Pascal). Простейшие объекты были уже тогда. Пусть у них не было механизма виртуальных методов, но уже были секции public/Private т.е. инкапсуляция + механизм наследования. Некоторые успели поработать даже с объектной Turbo Vision. 

  



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

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

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


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


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

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



Цитата(Lazin @  16.11.2007,  10:18 Найти цитируемый пост)
Но в С++ компилятор вызовет конструктор именно там, где объявлена локальная переменная, а не при входе в функцию. Благодаря этому в программах на с++ можно использовать идиому raii.

пожалуйста, пусть вызывает  smile 
одно другому не мешает, да я и не говорил про конструкторы  smile 
Цитата(Alexeis @  16.11.2007,  10:50 Найти цитируемый пост)
В Си введена концепция блоков, в паскале ей противопоставляется концепция вложенных функций. Т.е. переменные вложенных функций не видны во вне. И не всегда хаотически разбросанные переменные это плюс. Я несколько раз имел с этим проблемы, когда копировал блоки кода, возникала путаница со счетчиками цикла.

если уж говорить об удобстве, то объективно, принцип определения переменных в любом месте кода, удобнее
кроме того, в С никто не запрещает определять переменные до начала, собственно, кода
в Pascal - жесткое ограничение
так что по всем параметрам, Pascal тут в минусе

Добавлено через 10 минут и 28 секунд
Цитата(Alexeis @  16.11.2007,  10:50 Найти цитируемый пост)
При этом не полностью соблюдается инкапсуляция модулей как программных единиц, так как весь код попадает в один сегмент при компиляции.

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

Это сообщение отредактировал(а) MAKCim - 16.11.2007, 12:45


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

PM MAIL   Вверх
zkv
Дата 16.11.2007, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

Репутация: нет
Всего: 92



Цитата(Alexeis @  16.11.2007,  10:50 Найти цитируемый пост)
 Отделенный хедер от реализации, при этом сложнее навигация, компиляция, вынужденные директивы для исключения повторного включения реализаций. 

по мне так гораздо удобней (хедеры отдельно) в большинстве случаев мне нафиг не надо заглядывать в реализацию
Цитата(Alexeis @  16.11.2007,  10:50 Найти цитируемый пост)
так как весь код попадает в один сегмент при компиляции.

в смысле весь код? 
компилятор проходит по каждой единице трансляции отдельно.
Цитата(Alexeis @  16.11.2007,  10:50 Найти цитируемый пост)
Правда можно использовать namespace, но это усложняет вызов и усложняет обращение к глобальным переменным модулей.

чем усложняет?

Это сообщение отредактировал(а) zkv - 16.11.2007, 13:11
PM MAIL   Вверх
Alexeis
Дата 16.11.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(MAKCim @  16.11.2007,  12:45 Найти цитируемый пост)
если говорить об ELF - формате, то там для каждого исполняемого файла или разделяемой библиотеки существует лишь один програмный сегмент кода, который отображается компоновщиком (ядра или пользовательского уровня) на адресное пространство процесса
секций может быть много, но все они расположены в пределах одного програмного сегмента последовательно друг за другом (возможно, с выравниванием)
я не вижу смысла во множестве програмных сегментов кода
зачем для кода каждого из модулей создавать отдельный сегмент?
какие проблемы это может решить?

  
  Это уже детали реализации языка конкретным компилятором, к самому языку это не относиться. Я подразумевал именно логическое структурирование модулей. Расположение модулей в экзешнике не регламентируется стандартом. 


Цитата(MAKCim @  16.11.2007,  12:45 Найти цитируемый пост)
если уж говорить об удобстве, то объективно, принцип определения переменных в любом месте кода, удобнее
кроме того, в С никто не запрещает определять переменные до начала, собственно, кода
в Pascal - жесткое ограничение
так что по всем параметрам, Pascal тут в минусе

  Согласен, но отчасти. Сама возможность механизма приводит к необходимости проверки, но это не такой уж принципиальный вопрос.


После небольшой практики хочеться добавить регистрозависимость имен в плюс. Но не потому что возможно объявления типа
HWND hwnd; 
Я считаю создание переменных отличающихся регистром неправильным. Важно, то что это заставляет строже относиться к именам и не писать их как угодно. Например в паскале можно написать Hwnd1 или hWnd1, а это путает.

Добавлено через 8 минут и 25 секунд
Цитата(zkv @  16.11.2007,  13:10 Найти цитируемый пост)
по мне так гораздо удобней (хедеры отдельно) в большинстве случаев мне нафиг не надо заглядывать в реализацию

  
у pas модулей реализация просто ниже и отделена в специальную секцию, так что это совсем не мешает просматривать описания 

Цитата(zkv @  16.11.2007,  13:10 Найти цитируемый пост)
в смысле весь код? 
компилятор проходит по каждой единице трансляции отдельно.


Че делает компилятор мне не интересно, это уже особенность реализации, важно что он рассматривает все модули как единое пространство.

Цитата(zkv @  16.11.2007,  13:10 Найти цитируемый пост)
чем усложняет?

Необходимостью каждый раз писать префикс. использование using namespace я не рассматриваю так как это сводит на нет все его приемущества в данном модуле.


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

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

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


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


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

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



Цитата(Alexeis @  16.11.2007,  13:44 Найти цитируемый пост)
Че делает компилятор мне не интересно, это уже особенность реализации, важно что он рассматривает все модули как единое пространство.

а как еще рассматривать?
как тогда компоновать объектные файлы?


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

PM MAIL   Вверх
Alexeis
Дата 16.11.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(MAKCim @  16.11.2007,  22:28 Найти цитируемый пост)
а как еще рассматривать?
как тогда компоновать объектные файлы? 

  Ну например, ставить в соответствие каждому заголовочному файлу свой модуль реализации. Компилировать его так, чтобы он был самодостаточным и лишь линкер подставлял адреса функций/переменных из внешних модулей. А то ведь описать класс можно в одном заголовочном файле, а реализовать в cpp шнике с другим именем или вообще в нескольких. Т.е. модульность лишь призрачная. Меня по началу удивляло, чего это он не хочет компилить *.h файл smile , а он просто по стандарту не знает где найдет реализацию.


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

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

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


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


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

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



Цитата(Alexeis @  16.11.2007,  22:43 Найти цитируемый пост)
Компилировать его так, чтобы он был самодостаточным и лишь линкер подставлял адреса функций/переменных из внешних модуле

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

Добавлено через 1 минуту и 46 секунд
Цитата(Alexeis @  16.11.2007,  22:43 Найти цитируемый пост)
А то ведь описать класс можно в одном заголовочном файле, а реализовать в cpp шнике с другим именем или вообще в нескольких

кто мешает (так же как и переменные в С) реализовать методы в нужном *.cpp файле?  smile 


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

PM MAIL   Вверх
Akella
Дата 14.12.2007, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
{} - быстрей писать.

в паскале быстрее ставить точку, нежели эту несуразицу ->

Добавлено через 1 минуту и 4 секунды
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
% круче чем div, | круче чем or, ! круче not, & круче.

бред, ибо код в паскале более читабелен!

Добавлено через 2 минуты и 1 секунду
Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)

А вопще мне асм больше всего нравица!!!

ага, особенно для баз данных  smile

Добавлено через 8 минут и 35 секунд
Цитата(Alexeis @  16.11.2007,  13:44 Найти цитируемый пост)
Например в паскале можно написать Hwnd1 или hWnd1, а это путает.

ну вот с одной стороны с++ позволяет объявлять переменные где и как попало (ну может я утрирую), а с другой стороны обязывает нас чётко писать имена переменных!!!!!!!! это минус
PM MAIL   Вверх
nerezus
Дата 14.12.2007, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

у вот с одной стороны с++ позволяет объявлять переменные где и как попало

А как тогда в паскале объявить переменную для блока(типа "где попало")?


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


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(nerezus @  14.12.2007,  08:34 Найти цитируемый пост)
А как тогда в паскале объявить переменную для блока(типа "где попало")?

  Паскаль процедурно ориентирован, значит во вложенной процедуре.


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

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

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


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

а с другой стороны обязывает нас чётко писать имена переменных!!!!!!!! это минус 


это - несомненный плюс.

Цитата

Цитата(Den64 @  16.11.2007,  02:16 ) 
% круче чем div, | круче чем or, ! круче not, & круче. 

бред, ибо код в паскале более читабелен!


бред только для малознакомого с С/C++. Иначе придется объявить бредом всю математическую нотацию, заменив словами "принадлежит", "существует" и т.д.
PM MAIL   Вверх
Alexeis
Дата 14.12.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(baldina @  14.12.2007,  10:40 Найти цитируемый пост)
бред только для малознакомого с С/C++. Иначе придется объявить бредом всю математическую нотацию, заменив словами "принадлежит", "существует" и т.д. 


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

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


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

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

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


Эксперт
****


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

Репутация: нет
Всего: 101



Недостатки есть в любом языке. Ну, кроме матерного  smile
Так что вопрос только в том, насколько перевешивают достоинства.
Лично мне в С++ больше всего нравятся три вещи:
1. Поддержка нескольких парадигм программирования. Причем хорошая поддержка, а в грядущем стандарте станет еще лучше. 
2. Возможность при необходимости сделать все что угодно (например, наличие reinterpret_cast), но поощрение делать красиво и правильно.
3. Выразительность. Возможность на языке не только писать код, но и проектировать программу - сильная вещь.

Pascal лишен некоторых недостатков С++, но не имеет упомянутых достоинств. имхо.
PM MAIL   Вверх
Daevaorn
Дата 14.12.2007, 12:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Akella @  14.12.2007,  02:21 Найти цитируемый пост)
бред, ибо код в паскале более читабелен!

для детей младшего дошкольного возраста.

Цитата(Akella @  14.12.2007,  02:21 Найти цитируемый пост)
ну вот с одной стороны с++ позволяет объявлять переменные где и как попало (ну может я утрирую), а с другой стороны обязывает нас чётко писать имена переменных!!!!!!!! это минус 

Не где попало, а там где потребовалось. А от нечувствительности к регистру вся соль, от объявления переменных в одном месте, теряется.
PM MAIL WWW   Вверх
archimed7592
Дата 14.12.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Akella @  14.12.2007,  01:21 Найти цитируемый пост)
в паскале быстрее ставить точку, нежели эту несуразицу ->

Зато "несуразица" предоставляет намного более широкий диапазон возможностей smile.

Цитата(Akella @  14.12.2007,  01:21 Найти цитируемый пост)
бред, ибо код в паскале более читабелен!

Субъективное мнение. Мне вот читабельней кажется плюсовый код.

Цитата(Akella @  14.12.2007,  01:21 Найти цитируемый пост)
ну вот с одной стороны с++ позволяет объявлять переменные где и как попало (ну может я утрирую), а с другой стороны обязывает нас чётко писать имена переменных!!!!!!!! это минус

Опять же на любителя. Что читабельней: findAll или findall? А ведь паскаль не запрещает написать второй вариант smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Sartorius
Дата 14.12.2007, 18:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



 ИМХО бессмысленно сравнивать процедурный язык, созданный для учебных целей  и промышленный ОО-язык. Стоит м.б. Delphi vs C++ тогда обсуждать.  (или Algol vs C++  smile)
PM MAIL ICQ   Вверх
Alexeis
Дата 14.12.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Sartorius, я об этом уже говорил, тут даже не определено в какой из спецификаций "Pascal", "Pascal with Objects" или "Object Pascal".


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

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

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


^аВаТаР^ сообщение>>
****


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

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



Цитата(Akella @  14.12.2007,  05:21 Найти цитируемый пост)

Цитата(Den64 @  16.11.2007,  02:16 Найти цитируемый пост)
% круче чем div, | круче чем or, ! круче not, & круче.
бред, ибо код в паскале более читабелен!

не бред ибо согласно [c++2003: lex.key] и даже [c99: 7.9](но в си только при подключенном iso6446.h  smile ) можно писать and'ы.
ахх, ну и разумеется #define and && можно сделать и в более старых си.  Вот и будет читабельность.
а в паскале с препроцессорами вообще говоря тяжко. 

Мне вот всякие input.readable() and output.writeable() c and'ом тоже читаются легче чем с &&. 

Цитата(baldina @  14.12.2007,  15:24 Найти цитируемый пост)

1. Поддержка нескольких парадигм программирования. Причем хорошая поддержка, а в грядущем стандарте станет еще лучше. 

йап-йап. в паскале нет аналогов шаблонов. только за это его дóлжно мучить пока он ими не обзаведётся{как уже было с перегрузкой операторав} или пока он не умрёт.
[Хотя если достать какой-нибудь макропроцессор{типа m4}, то в принципе можно кода нагенерировать, но это полумера]

Цитата(baldina @  14.12.2007,  15:24 Найти цитируемый пост)

3. Выразительность. Возможность на языке не только писать код, но и проектировать программу - сильная вещь.

а можно этот пункт подробнее?.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
baldina
Дата 16.12.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата(Mayk @ 16.12.2007,  15:00)
Цитата(baldina @  14.12.2007,  15:24 Найти цитируемый пост)

3. Выразительность. Возможность на языке не только писать код, но и проектировать программу - сильная вещь.

а можно этот пункт подробнее?.

Можно. Язык программирования не может (да и не должен) быть полноценным языком проектирования, но язык может поддерживать напрямую некоторые принципы проектирования.
В отношении С++ это прежде всего поддерживаемые парадигмы. Про это я сказал в п.1, но относительно технических средств. То же верно и в отношении проектных средств: программист может обдумывать задачу с той точки зрения, которая в данный момент приемлема, используя синтаксис С++.

Вот вам простой пример разного подхода к одной задаче. Задача - вычисление определенных интегралов функций одного переменного.
Идея - имеем классы для определения подынтегральных функций и нечто собственно для вычисления интеграла.

ООП:
Код

class Integral {
   virtual double f (double x) = 0; // подынтегральная функция
  public:
    double get_ivalue (double a, double b); // возвращает значение интеграла от a до b
};

class Linear : public Integral {
   double A, B;
   double f (double x) { return A*x + B; }
  public:
   Linear (double a, double b) : A(a), B(b) {}
};

// в общем виде этот алгоритм мы можем знать заранее, а можем и не знать. на интерфейс не влияет
double Integral::get_ivalue (double a, double b)
{
   double S=0;
   double yi_1 = f(a);
   double dx = (b-a)/n;
   for (int i=1; i < n; ++i)
   {
      double yi = f(a+i*dx);
      S += square(yi_1,yi,dx);
      yi_1 = yi;
   }
   return S;
}


Обобщенное программирование:
Код

template <typename Function>
double Integral(double a, double b, Function f) {...} // тот же самый алгоритм. тут нам важно только, что f может использоваться как double f(double)

class Linear {
   double A, B;
  public:
   Linear (double a, double b) : A(a), B(b) {}
   double operator() (double x) { return A*x + B; }
};


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

Чисто технически - мне импонирует возможность написать интерфейс класса, не реализуя его, и опробовать его в программе. Она, конечно, не будет линковаться, но будет компилироваться. Т.е. я могу попробовать на зуб свой интерфейс еще до реализации. И изменять его не вдаваясь в подробности реализации.

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

И напоследок. С++ не поддерживает напрямую некоторые вещи. Но его легко научить это поддерживать. Посмотрите на boost - он почти целиком из таких расширений состоит. Особенно выразительные примеры - пример Dimension Analisys в MPL и библиотека parameters.
Т.е. для конкретной задачи мы можем создавать инструменты, используя которые приобретаем новые семантические средства, синтаксически оставаясь в языке.

Немного сумбурно получилось. Если што непонятно готов развить.  smile 
PM MAIL   Вверх
archimed7592
Дата 16.12.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



baldina, непонятно только одно: какой из языков ты считаешь невыразительным - С++ или Паскаль? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 16.12.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Я не говорил, что Pascal невыразителен (хотя чистый паскаль стоит сравнивать с С а не С++).
Я говорил за что мне нравится С++

Добавлено через 2 минуты и 12 секунд
Религиозные войны вообще дело такое... Тонкое, как и восток. Остроконечники и тупоконечники.
Цитата

- Василий Иванович, как вы относитесь к гомосексуалистам?
- Не отношусь.

PM MAIL   Вверх
archimed7592
Дата 16.12.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Спасибо, теперь понятно smile.
Полностью с тобой согласен - С++ очень выразительный язык.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Akella
Дата 17.12.2007, 04:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(archimed7592 @  14.12.2007,  18:33 Найти цитируемый пост)
Опять же на любителя. Что читабельней: findAll или findall? 

FindAll
PM MAIL   Вверх
archimed7592
Дата 17.12.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Akella @  17.12.2007,  04:34 Найти цитируемый пост)
FindAll 

Может быть тебе ещё и For кажется читабельней, чем for? 0_o


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 17.12.2007, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Здесь говорили что система модулей в Delphi лучше чем cpp - h файлы, мне -же кажется что наоборот, в плюсах можно разделять реализацию и объявления.
Это может быть очень удобно, если умеешь пользоваться, можно спрятать реализацию класса, спрятать его члены, оставить только объявление базового класса и фабрику для создания производных классов. В паскале-же "все кишки наружу".
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 17.12.2007, 09:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Нет, в паскале, в случае предоставления только dcu(если мы говорим про турбо паскаль, то это вообще tpu smile) то реализации как-бы никто не увидит. Но система модулей там действительно гнилая. Нет возможности разделить реализацию одного класса на несколько исходных файлов. А если ещё и учесть, что, чтобы иметь доступ к private членам нужно находиться именно в том же файле, что и другой класс, то получается вообще очень длинная простыня.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 17.12.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Возник тут у меня вопрос, можно-ли на паскале реализовать смарт поинтер, или к примеру запретить создавать объекты в стеке, или наоборот в куче? Есть ли там возможность реализовать собственную стратегию управления памятью (на плюсах я могу переопределить new delete).
Возможно, что это слишком субъективно, но все программы на паскале которые я видел, были какими то неказистыми и невыразительными, несмотря на синтаксис самого языка.
Возможно это мне так кажется, так как на той же площади монитора помещается меньше строк кода на паскале, а это хуже для читаемости чем даже птичий язык С++?
имхо паскаль имеет самый раздутый синтаксис...
PM MAIL Skype GTalk   Вверх
baldina
Дата 17.12.2007, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



К вопросу темы (про строчки).
Огромный плюс С и С++ - отсутствие стандартных операторов ввода-вывода, и реализация посредством стандартной библиотеки.
То же относится и к строкам. Родные строки в паскале конечно удобней С-строк. Но если расширять их функционал - в силу более простой семантики (массив символов - более общее понятие, чем "строка") различные преобразования в С++ проще и эффективнее.
PM MAIL   Вверх
Alexeis
Дата 17.12.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(baldina @  17.12.2007,  11:07 Найти цитируемый пост)
Но если расширять их функционал - в силу более простой семантики (массив символов - более общее понятие, чем "строка") различные преобразования в С++ проще и эффективнее. 

  Знаем мы все эти расширения, тормозят они нипадецки. Встроенные вещи, на то они и встроенные, что оптимизированы и работают быстро, так что со строками в стиле C ничего не сравниться. Вся эта хваленная универсальность постоянно выходит боком сильными тормозами. Потому что универсальность делается в ущерб эффективности. Железки мощные нехай работают, а как выходишь на максимальную загрузку так сразу все видно.


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

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

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


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

Знаем мы все эти расширения, тормозят они нипадецки. 


std::string - тормоз? Хотел поспорить на пиво, передумал. Достаточно погуглить, что бы нарыть тестов тех самых расширений.
PM MAIL   Вверх
Void
Дата 17.12.2007, 13:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Цитата(Alexeis @  17.12.2007,  14:59 Найти цитируемый пост)
Встроенные вещи, на то они и встроенные, что оптимизированы и работают быстро, так что со строками в стиле C ничего не сравниться.

Гм. Гм. Ну чёрт с ними с «расширениями», но как можно назвать быстрым представление строк, в котором для определения длины строки требуется O(N) времени.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Alexeis
Дата 17.12.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Void @  17.12.2007,  13:39 Найти цитируемый пост)
Гм. Гм. Ну чёрт с ними с «расширениями», но как можно назвать быстрым представление строк, в котором для определения длины строки требуется O(N) времени. 

  Так в критических местах ее можно сохранить в локальной переменной, чтобы постоянно не вычислять, а если посмотреть на набор функций, то они ориентированы на выполнение всех операций без вычисления длинны. Т.е. делаем операцию пока не встретим нуль или отседова n символов. Зачастую можно обойтись без операции вычисления длинны или вызов производить пренебрежительно редко.


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

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

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


Архимед
****


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

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



Цитата(Alexeis @  17.12.2007,  14:07 Найти цитируемый пост)
Так в критических местах ее можно сохранить в локальной переменной

Так в std::string длина и сохранена. Точно так же, как в ваших ansi/widestring smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 17.12.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



"расширение" std::string имеет метод size(), имеющий временную сложность О(1).
Под быстротой С-строк, понятно, понимается эффективность доступа к отдельному символу, при этом не т ребуется каких-либо преобразований. Скорость работы строк паскаль и std::string (а также С-строк, если их грамотно использовать) полагаю одинакова. А вот скорость работы специальных классов, обрабатывающих строки, в момент преобразования в стандартную строку, может быть разная. Для std::string, например, это происходит без каких-либо накладных расходов.

Добавлено через 5 минут и 3 секунды
Конкретно касаемо расширений для строк Pascal vc C++. Т.к. в паскале длина строки всегда хранится вместе со строкой, любые манипуляции, меняющие длину строки обязательно приводят к операциям, корректирующим значение длины. Нетрудно придумать практические примеры и написать для них класс С++ (или использовать строки С), где вычисление длины строки и её изменение будет происходить реже. Для миллиона таких операций разница в скорости будет видна на глаз.
PM MAIL   Вверх
Alexeis
Дата 17.12.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(baldina @  17.12.2007,  14:21 Найти цитируемый пост)
Конкретно касаемо расширений для строк Pascal vc C++. Т.к. в паскале длина строки всегда хранится вместе со строкой, любые манипуляции, меняющие длину строки обязательно приводят к операциям, корректирующим значение длины. Нетрудно придумать практические примеры и написать для них класс С++ (или использовать строки С), где вычисление длины строки и её изменение будет происходить реже. Для миллиона таких операций разница в скорости будет видна на глаз. 

  В делфях точно (не знаю как во всех паскалях), есть полная поддержка сишных строк. Во FreePascal думаю тож есть. Т.е. объявление, выделение, адресация инкремент указателей, даж некоторые стандартные функции. Это довольно удобно при работе с WinApi или если скажем урезать модуль System для получения ультрамаленьких приложений. 


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

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

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


Эксперт
****


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

Репутация: 4
Всего: 154



Почему всегда когда речь заходит преимуществах Pascal - Delphi, то приводят в пример именно строки. Неужели больше нечего? std::string может в отличии от AnsiString использовать механизм copy on write, если приложение часто копирует строки, то это дает заметное преимущество в скорости. Причем у меня есть выбор какой реализацией string пользоваться, ненравится cow - не используй, вместо string можно использовать vector, если хочется можно сделать свой string совместимый с stl, а у вас особого выбора нет smile

Добавлено через 1 минуту и 22 секунды
с такой аватарой меня так и тянет паскаль защищать smile , в конце концов это мой первый язык программирования 
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 17.12.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Lazin @  17.12.2007,  15:49 Найти цитируемый пост)
std::string может в отличии от AnsiString использовать механизм copy on write, если приложение часто копирует строки, то это дает заметное преимущество в скорости. 

  Понял че сказал? С каких пор копирование по значению быстрее передачи по ссылке?

Цитата(Lazin @  17.12.2007,  15:49 Найти цитируемый пост)
Причем у меня есть выбор какой реализацией string пользоваться, ненравится cow - не используй, вместо string можно использовать vector, если хочется можно сделать свой string совместимый с stl, а у вас особого выбора нет

  Почему нет? Если говорить о Object Pascal, то никаких проблем создавать объекты.


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

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

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



****


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

Репутация: нет
Всего: 92



Цитата(Alexeis @  17.12.2007,  16:04 Найти цитируемый пост)
Понял че сказал?

правильно все сказал  smile 
PM MAIL   Вверх
Lazin
Дата 17.12.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Alexeis @  17.12.2007,  16:04 Найти цитируемый пост)
Понял че сказал? С каких пор копирование по значению быстрее передачи по ссылке?

Да, понял. 
Кто мешает использовать указатели и ссылки на объекты-строки. При копировании по значению(глубокое копирование) AnsiString копируется полностью, а std::string (при использовании идиомы COW), копирует только ссылку на объект. Далее при попытке изменить одну из строк происходит реальное копирование. С ссылками на строки можно работать так-же как и в паскале.
Цитата(Alexeis @  17.12.2007,  16:04 Найти цитируемый пост)
Почему нет? Если говорить о Object Pascal, то никаких проблем создавать объекты.

А могут ли эти объекты выглядеть как встроенные типы данных - Integer, String и пр..
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 17.12.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
Кто мешает использовать указатели и ссылки на объекты-строки.

  Мешает то что их удобство и состоит в том, что они создаются в стеке, а значит во выходу из функции токая строка уничтожается.

Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
При копировании по значению(глубокое копирование) AnsiString копируется полностью, а std::string (при использовании идиомы COW), копирует только ссылку на объект. Далее при попытке изменить одну из строк происходит реальное копирование. С ссылками на строки можно работать так-же как и в паскале.

  В точности описал механизм AnsiString smile , только он встроенный. 

Цитата(Lazin @  17.12.2007,  16:15 Найти цитируемый пост)
А могут ли эти объекты выглядеть как встроенные типы данных - Integer, String и пр..

  Выглядеть понятие весьма растяжимое и специфичное. Сильно зависит от компилятора и его возможностей. 


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

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

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


Эксперт
****


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

Репутация: нет
Всего: 101



cow к передаче параметров по ссылке/значению никакого отношения не имеет.

да че вы ссоритесь? ObjectPascal, FreePascal, Delphi... Понятно, что все востребованные языки развиваются, не только паскаль, но и С++.

Вот только... Есть стандарт С++. Мы собственно говоря про С++ остаемся в его рамках. Идите теперь почитайте про паскалевский стандарт.

А про "поддерживает то, поддерживает сё..." - если в языке есть оператор print или тип string я хочу ими пользоваться. ибо они есть стандартное свойство языка. Очень трудно понять и объяснить, что "вот этой фичей пользоваться не надо, она убогая, используйте вот это расширение языка для этой среды или вот эту библиотеку проприетарного производителя"
PM MAIL   Вверх
Lazin
Дата 17.12.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Alexeis @  17.12.2007,  16:21 Найти цитируемый пост)
Мешает то что их удобство и состоит в том, что они создаются в стеке, а значит во выходу из функции токая строка уничтожается.

тоже самое можно сказать и про std::string, память под строку выделяется в куче, в стеке хранится только указатель на ее начало + специфичная для конкретной реализации информация. Даже если принять что std::string и AnsiString реализованы одинаково, то все равно, std::string - это stl контейнер, и для него есть туева хуча стандартных алгоритмов. Так-что можно сказать что он более функциональный.
Цитата(Alexeis @  17.12.2007,  16:21 Найти цитируемый пост)
В точности описал механизм AnsiString smile , только он встроенный. 

Вот в этом и проблема, если он встроенный то его или невозможно изменить, или это сделать очень сложно. Такая реализация может в многопоточных приложениях вызывать утечку памяти при копировании(глубоком) между потоками(либо каждая строка должна содержать примитив синхронизации). Ты ничего не подозревая копируешь строку, думая что другой поток будет использовать копию, а он использует тот-же объект.
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 17.12.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(baldina @  17.12.2007,  16:22 Найти цитируемый пост)
Идите теперь почитайте про паскалевский стандарт.

  Это старый стандарт.


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

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

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


Эксперт
****


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

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



Цитата(baldina @  17.12.2007,  17:22 Найти цитируемый пост)
Вот только... Есть стандарт С++. Мы собственно говоря про С++ остаемся в его рамках. Идите теперь почитайте про паскалевский стандарт.

std::string более стандартный чем все паскали вместе взятые.
PM MAIL WWW   Вверх
Lazin
Дата 17.12.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



+1

Добавлено через 3 минуты и 27 секунд
кстати название темы: Pascal sv C++, что бы это могло значить ??
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 17.12.2007, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Alexeis, если автоматический объект, созданный на стеке, выходит из области видимости, то это вовсе не означает, что он освобождает какие-то ресурсы(маленькую область стека мы в расчёт не берём). Вот, к примеру, shared_ptr - он ничего не уничтожают, если есть другой shared_ptr, ссылающийся на тот же объект smile.

Блин, что за марафон с аватарками? Я теперь всех путаю smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 17.12.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



верно, есть стандарт 1999 года, но что-то не очень его раздают, видимо секретный.  smile 
в открытом доступе удалось онаружить только Draft 1993, есть там что-то про объекты даже

Добавлено через 3 минуты и 31 секунду
но кстати на http://www.iso.org/ из опубликованных значится только ISO 7185:1990 Information technology -- Programming languages -- Pascal 
PM MAIL   Вверх
Daevaorn
Дата 17.12.2007, 16:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(archimed7592 @  17.12.2007,  17:46 Найти цитируемый пост)
Блин, что за марафон с аватарками? Я теперь всех путаю smile. 

у тебя они включены?smile

Цитата(baldina @  17.12.2007,  17:47 Найти цитируемый пост)
верно, есть стандарт 1999 года, но что-то не очень его раздают, видимо секретный.

есть даже ревизия 2003го. Все официально продаются комитетом за небольшую плату. А драфт можно без проблем найти и по-современней, было бы желание...
PM MAIL WWW   Вверх
baldina
Дата 17.12.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



ладно, стандарт есть. я рад за паскаль, правда. даже был удивлен сходу не обнаружив концов.
ну так в последнем стандарте read, write, string исключили? вряд ли. значит все рассуждения остаются в силе.
PM MAIL   Вверх
Lazin
Дата 17.12.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(archimed7592 @  17.12.2007,  16:46 Найти цитируемый пост)
Блин, что за марафон с аватарками? Я теперь всех путаю

а ты присоединяйся  smile 
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 17.12.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Lazin @  17.12.2007,  17:17 Найти цитируемый пост)
а ты присоединяйся  smile  

Сдать аватарку в аренду? smile
Кстати, есть здесь добрые люди, которые смогут присобачить к моей аватарке новогоднюю шапку? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Alexeis
Дата 17.12.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Daevaorn @  17.12.2007,  16:38 Найти цитируемый пост)
std::string более стандартный чем все паскали вместе взятые. 

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


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

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

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


Эксперт
****


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

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



Цитата(Alexeis @  17.12.2007,  18:32 Найти цитируемый пост)
После такой тупости да еще поддерженной кучей народу считаю, что мне здесь обсуждать нечего... 

Мы люди не гордые. Критику любим. Обоснуй.
PM MAIL WWW   Вверх
baldina
Дата 17.12.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



ну вот, дельфиста обидели...

Alexeis, тут изначально обсуждать то нечего было  smile
Развивай ЧЮ
PM MAIL   Вверх
Mayk
Дата 17.12.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(Alexeis @  17.12.2007,  18:07 Найти цитируемый пост)

  Так в критических местах ее {длину строки} можно сохранить в локальной переменной, чтобы постоянно не вычислять, а если посмотреть на набор функций {по работе со строками}, то они ориентированы на выполнение всех операций без вычисления длинны

а зря. такая неориентированность на длину строки приводит к некоторым серьезным проблемам с безопасностью. gcc  к примеру любит орать warning'и если кто-то хочет использовать gets. 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
baldina
Дата 17.12.2007, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

такая неориентированность на длину строки приводит к некоторым серьезным проблемам с безопасностью


точно к таким же проблемам ведет неправильное значение длины строки
PM MAIL   Вверх
Mayk
Дата 17.12.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(baldina @  17.12.2007,  22:26 Найти цитируемый пост)

точно к таким же проблемам ведет неправильное значение длины строки 

А что, её так легко запороть? выйти за границы буффера гораздо легче.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Lazin
Дата 17.12.2007, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



archimed7592, ПРЕВЕД!!!

Добавлено через 1 минуту и 8 секунд
я как то странно себя чувствую  smile 
PM MAIL Skype GTalk   Вверх
baldina
Дата 17.12.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

А что, её так легко запороть? выйти за границы буффера гораздо легче. 

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

Если это С строка, имеется оконечный 0, достижение которого контролируется, то имхо разницы никакой.
PM MAIL   Вверх
Mayk
Дата 18.12.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(baldina @  18.12.2007,  00:48 Найти цитируемый пост)

Если это С строка, имеется оконечный 0, достижение которого контролируется, то имхо разницы никакой. 

контролируется? То-то же strncpy не оканчивает строку нулем при нехватке места.
Причем самое смешное, snprintf строку нулем заканчивает если места нет. 

Кстати. В ЖЖ упаминались generic'и в дельфи.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
archimed7592
Дата 18.12.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Mayk, пожалуйста, не нужно путать мощнейший метаязык в виде шаблонов С++ и какие-то дженерики, которые, что в java, что в .net'е, что в Delphi основаны на интерфейсах. В дотнете, по сути, никакой разницы между интерфейсом и дженириком нет.
Да и вообще, ни одна runtime технология никогда не сравниться с compile-time шаблонами.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Mayk
Дата 18.12.2007, 14:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(archimed7592 @  18.12.2007,  16:21 Найти цитируемый пост)
Mayk, пожалуйста, не нужно путать мощнейший метаязык в виде шаблонов С++ и какие-то дженерики, которые, что в java, что в .net'е, что в Delphi основаны на интерфейсах. В дотнете, по сути, никакой разницы между интерфейсом и дженириком нет.
Да и вообще, ни одна runtime технология никогда не сравниться с compile-time шаблонами.

Согласен, не сравняется [ровно как и с++ не сравнится с немрловскими макросами]. 

Однака положа руку на  сердце, оно ей часто надо?
При дженериках приведение типов в контейнерах более не требуется. Это хорошо.
А то что дженерики обрабатываются в рантайм жалко конечно, но не более того.


Задачи в которых требуется тьюринг полнота шаблонов на практике имхо достаточно редки. [Не могу вспомнить и одного примера, использующего мощь метаязыка, но думаю что они есть].
Задачи в которых шаблоны делают много чего нечитаемого в stderr'е достаточно часты. Это уже имхо авторов STLFilt'а. 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
archimed7592
Дата 18.12.2007, 15:27 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Mayk @  18.12.2007,  14:25 Найти цитируемый пост)
Однака положа руку на  сердце, оно ей часто надо?

Не так давно я на С# делал фасад для работы с AutoCAD'ом через COM. Считывался XML файлик, в котором рисуемые сущности могли находится либо внутри block, либо внутри layer. Вся разница в том, что в первом случае нужно вызывать ф-цию myBlock.AddXXX, а в другом modelSpace.AddXXX. Мне досталась какая-то кривая версия автокада, в которой AcadBlock и AcadModelSpace не имели общего интерфейса. В итоге выхода было два: дублировать код полностью, либо написать обёртки над этими объектами. Ессно я выбрал второй вариант, ибо он кошернее и мне требовалось работать всего с 15-20 ф-циями(т.е. я просто делал минимальную обёртку). Но, если бы это был С++, то никаких обёрток не понадобилось бы т.к. С++ инстанцирует шаблон в compile-time и сразу может проверить наличие или отсутствие нужных методов. А в дотнете - сиди и делай copy-paste. Позже понадобилось добавить ещё около 20 ф-ции, благо я порылся в иерархии, поэкспериментировал и понял что можно явно приводить оба объекта к какому-то магическому IAcadBlock3(а зачем нужны первые 2? smile ).

Ну а если посмотреть масштабнее - могло бы быть 150 ф-ций, причём, разных поддерживаемых сущностей могло бы быть не 2, а штук 15 и, по закону подлости, они не имели бы общего интерфейса. В таком случае я просто написал бы скриптик, генерирующий обёртки, но что же это за шаблоны, если их главную ф-цию приходится выполнять самому, пусть, порой и в полуавтоматическом режиме...

Добавлено через 14 минут и 57 секунд
Цитата(Mayk @  18.12.2007,  14:25 Найти цитируемый пост)
[Не могу вспомнить и одного примера, использующего мощь метаязыка, но думаю что они есть].

Ну а что касается этого - возьми, хотя бы, те же traits...

Или, вот я сейчас достаточно плотно работаю с геометрической библиотекой CGAL. Она совершенно не привязана к типу, представляющему число. Это может быть и double и числовые типы из GMP и что угодно другое.
Вот понадобилось мне использовать неточные сравнения(в моём случае это была точность до 1e-6). Написал я класс, в котором все операторы сравнения перегружены для неточных сравнений - и вуаля, теперь, сравнивая два вектора я могу быть уверен, что не получу отрицательный результат из-за неточности double. Можно сделать подобное на дельфёвых интерфейсах? Несомненно, но, представьте себе, какой получиться оверхед из-за, во-первых, вызовов ф-ции, да ещё и виртуальных вызовов(когда ни один линкер, не в силах ничего оптимизировать).

Ещё пример: в этой библиотеке написана обёртка над mpz_t из GMP, которая немного кривовата. Я элементарно унаследовался от этой обёртки, не меняя, по сути ничего - просто сделал forward конструкторы. Потом, чтобы обёртка, над Gmpzf начала правильно считать sqrt, я унаследовался от соответствующих traits, где изменил всего один функтор Sqrt, заменив его вычислитель на нужный мне. И все эти унаследования и прочие извращения никак не сказались на производительности т.к., к примеру, forward-ctor - просто инлайнился(как, скорее всего и сам конструктор, на который происходил редирект). Анлогично и со всем остальным.

Кстати, когда-то и где-то мы делали бенчмарк vector vs new. Угадай кто остался в пролёте ;). Шаблоны - это мощь.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 18.12.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

strncpy не оканчивает строку нулем при нехватке места


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

Добавлено через 1 минуту и 48 секунд
archimed7592, +1

вобщем С++ рулит. чтд   smile 
PM MAIL   Вверх
archimed7592
Дата 18.12.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(baldina @  18.12.2007,  15:46 Найти цитируемый пост)
хотелось бы узнать, как strncpy может определить нехватку места.

На самом деле очень просто. "Решение этой задачи предлагаю решить читателю самостоятельно" smile.

Добавлено через 1 минуту и 58 секунд
Просто если задуматься, почему strncpy не пишет в конец 0, то можно достаточно быстро прийти к ответу на вопрос почему sprintf пишет, а strncpy нет smile. Решение этой задачи тоже остаётся на плечах читателей smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 18.12.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



archimed7592, если б так все было просто...
смотри сюда:
Код

char str[10] = "Something";
*str = 0;
strncpy (str, "Hello", 6);


Добавлено через 2 минуты и 26 секунд
да и вообще, имея

void f (char *str, size_t size)
{
   // делать здесь предположения о реальном размере памяти, на который указывает str дело неблагодарное
}

Добавлено через 3 минуты и 52 секунды
а итог простой - все на плечах пользователя. и забытый 0, и неправильно определенный size есть проблемы одного рода
PM MAIL   Вверх
archimed7592
Дата 18.12.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



baldina, нет, нет. Мы не берём в расчёт неправильный размер, указанный заведомо большим, чем реальный.
Что же касается меньшего размера - ты можешь считать, что всё правильно, ибо, если идёт просьба записать не больше 6-ти байт в 10-байтный буффер, то значит оставшиеся 4 байта для чего-то нужны и для строки не предназначается.

Ну а незаписываемый 0 в случае strncpy - подтолкну направление в котором нужно мыслить: что возвращает strncpy? А что возвращает snprintf?

Добавлено через 53 секунды
Цитата(baldina @  18.12.2007,  16:21 Найти цитируемый пост)
а итог простой - все на плечах пользователя.

Само собой. Просто иногда на плечи пользователя возлагается чуть больше, а иногда - чуть меньше smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Mayk
Дата 18.12.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



/archimed7592, ну ты и графоман блин, я столько не осилю smile  /

Цитата(archimed7592 @  18.12.2007,  19:27 Найти цитируемый пост)

Ну а если посмотреть масштабнее - могло бы быть 150 ф-ций, причём, разных поддерживаемых сущностей могло бы быть не 2, а штук 15 и, по закону подлости, они не имели бы общего интерфейса.

c# и дот нет? А тот addXXX можно было вытащить и вызвать через рефлекшн?

Цитата(archimed7592 @  18.12.2007,  19:27 Найти цитируемый пост)
 что же это за шаблоны, если их главную ф-цию приходится выполнять самому, пусть, порой и в полуавтоматическом режиме...

В том числе и шаблоны c++[особенно пока variadic template arguments не появятся в компиляторах]. Правда в гораздо меньшей степени. smile 


Цитата(baldina @  18.12.2007,  19:46 Найти цитируемый пост)

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

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


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
archimed7592
Дата 18.12.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Mayk @  18.12.2007,  16:45 Найти цитируемый пост)
А тот addXXX можно было вытащить и вызвать через рефлекшн?

Можно, но это, IMHO, ещё большее извращение.

Цитата(Mayk @  18.12.2007,  16:45 Найти цитируемый пост)
Правда в гораздо меньшей степени. smile 

Имея Boost.Preprocessor это не проблема.

Цитата(Mayk @  18.12.2007,  16:45 Найти цитируемый пост)
йап, в том то и дело что в строках аля паскаль никаких дополнительных переменных не надо.

Ты думаешь их нет? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
baldina
Дата 18.12.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата(baldina @ 17.12.2007,  18:26)
Цитата

такая неориентированность на длину строки приводит к некоторым серьезным проблемам с безопасностью


точно к таким же проблемам ведет неправильное значение длины строки

я только это утверждал.

так что, archimed7592, мы спорим об одном и том же разными словами. речь шла о возможном переполнении буфера. более я ни с чем не спорю. 

(хотя в скобках замечу, что семантика strncpy, чем является возвращаемое значение, к возможному переполнению никакого отношения не имеет. отношение имеет правильное или неправильное использование, корректная или некорректная программа)

Добавлено @ 17:29
Цитата

Кстати, когда-то и где-то мы делали бенчмарк vector vs new. Угадай кто остался в пролёте ;). Шаблоны - это мощь.


Я кстати недавно тестировал std::vector vs boost::array. gcc и VC++. Результат был одинаков и несколько меня обескуражил - если размер указывать заранее, то vector быстрее (правда совсем ненамного). Скурпулезное рассмотрение выявило причину. Получается немного разный ассемблерный код, вот за счет этого и разница. Но кто бы мог подумать!

Это сообщение отредактировал(а) baldina - 18.12.2007, 17:30
PM MAIL   Вверх
Mayk
Дата 18.12.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(archimed7592 @  18.12.2007,  20:50 Найти цитируемый пост)

Имея Boost.Preprocessor это не проблема.

Boost.Preporcessor сам по себе проблема трудочиаемости имхо.

йа пробовал на нём сделать 
Код

// задача: сделать N ф-ций принимающих от 1 до N параметров, склеивающих их в строку.
template<class C1, class C2, class C3>  // вот эта клеит 3 параметра.
std::string stringof( const C1& c1, const C2& c2, const C3& c3 )
{
    std::ostringstream oss;
    oss << c1 << c2 << c3;
    return oss.str();
}

но испугался этих жутких макросов.
Благо ~40 строк pythonа генерирует такой хедер без проблем.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 19.12.2007, 01:20 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



не знаю господа
я вот капитально на Python подсел
более мощного во всех отношениях языка я не видел
+ мощная интеграция с С
чего еще надо?  smile  smile 


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

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


^аВаТаР^ сообщение>>
****


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

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



так и запишем что в борьбе с++ vs паскаль победу одерживает питон.  smile 
кстати, чисто посмеятся, гугл находит почему паскаль лучше с.
Цитата

1. Pascal, noble language as it is, was named after a famous French mathematician and philosopher, Blaise Pascal. C was named after a Sesame Street character.

 smile  smile  smile 
 * пристыженно уходит учить Ерланг * 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Void
Дата 19.12.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Наконец-то... Развели, понимаешь, войну Pascal vs C++ в канун 2008 года. Хорошо хоть не Алгол против Фортрана smile

И да будет системный код наш на Си, сервера на Эрланге, а прикладная логика на Питоне.



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Lazin
Дата 19.12.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Void @  19.12.2007,  13:59 Найти цитируемый пост)
И да будет системный код наш на Си, сервера на Эрланге, а прикладная логика на Питоне.

ибо не было и не будет универсального языка программирования  smile 
имхо связка python(lua) скрипт + код на С\С++, всегда будет наиболее мощной и гибкой, Delphi курит в сторонке ))
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 19.12.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(MAKCim @  19.12.2007,  01:20 Найти цитируемый пост)
чего еще надо?  smile  smile  

Интеграции с С++ smile.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Void
Дата 19.12.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Цитата(archimed7592 @  19.12.2007,  17:45 Найти цитируемый пост)
Интеграции с С++

Boost.Python, SWIG. smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
MAKCim
Дата 19.12.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(archimed7592 @  19.12.2007,  15:45 Найти цитируемый пост)
Интеграции с С++

а зачем?  smile 
Python самодостаточен
а для низкоуровневых вещей есть С
вся проблема С++ (точнее компиляторов) - использование разных алгоритмов трансформации имен символов для генерации объектных файлов
т. е код на С++ довольно тяжело интегрировать с Python

Это сообщение отредактировал(а) MAKCim - 19.12.2007, 17:28


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

PM MAIL   Вверх
archimed7592
Дата 19.12.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



VoidMAKCim, шуток не понимаете что ль? smile 



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 20.12.2007, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(archimed7592 @  19.12.2007,  23:36 Найти цитируемый пост)
Void, MAKCim, шуток не понимаете что ль?

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


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

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


Эксперт
****


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

Репутация: 4
Всего: 154



пару месяцев назад читал статью, о тенденциях в программировании, в частности речь шла о том какие системы программирования как развиваются..
там говорилось о том, что количество проектов использующих Python, Lua, ruby и т.д. растет быстрее всего, чуть медленнее Java - .NET, С++ занимает свою нишу (что-то около 20%), ну а Паскаль скоро будут помнить только старожилы, так как он займет свое почетное место среди таких языков как Cobol, Fortran и пр... 
ps
возможно он сохранится только в Российских ВУЗах  smile 

Это сообщение отредактировал(а) Lazin - 20.12.2007, 12:28
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 20.12.2007, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Lazin @  20.12.2007,  12:26 Найти цитируемый пост)
ну а Паскаль скоро будут помнить только старожилы, так как он займет свое почетное место среди таких языков как Cobol, Fortran и пр... 

Поскорей бы...


Цитата(Lazin @  20.12.2007,  12:26 Найти цитируемый пост)
возможно он сохранится только в Российских ВУЗах  smile 

Не дай Б-г.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 20.12.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(archimed7592 @  20.12.2007,  12:31 Найти цитируемый пост)
Поскорей бы...

сейчас нарвешься на паскалистов  smile 


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

PM MAIL   Вверх
Mayk
Дата 20.12.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(Lazin @  20.12.2007,  16:26 Найти цитируемый пост)
пару месяцев назад читал статью, о тенденциях в программировании, в частности речь шла о том какие системы программирования как развиваются..
там говорилось о том, что количество проектов использующих Python, Lua, ruby и т.д. растет быстрее всего, чуть медленнее Java - .NET, С++ занимает свою нишу (что-то около 20%), ну а Паскаль скоро будут помнить только старожилы, так как он займет свое почетное место среди таких языков как Cobol, Fortran и пр... 
ps
возможно он сохранится только в Российских ВУЗах

чисто циферки. Некоторая статистика по freshmeat [собираеццо не регулярно].
Цитата

  pastdate  |  nowdate   | language | past | now  | delta 
------------+------------+----------+------+------+-------
 2007-05-25 | 2007-09-19 | C        | 8650 | 8825 |   175
 2007-05-25 | 2007-10-10 | C        | 8650 | 8848 |   198
 2007-05-25 | 2007-11-19 | C        | 8650 | 8854 |   204
 2007-05-25 | 2007-09-19 | C++      | 4683 | 4833 |   150
 2007-05-25 | 2007-10-10 | C++      | 4683 | 4869 |   186
 2007-05-25 | 2007-11-19 | C++      | 4683 | 4877 |   194
 2007-05-25 | 2007-09-19 | Java     | 5575 | 5779 |   204
 2007-05-25 | 2007-10-10 | Java     | 5575 | 5813 |   238
 2007-05-25 | 2007-11-19 | Java     | 5575 | 5833 |   258
 2007-05-25 | 2007-09-19 | Object Pascal |   28 |   29 |     1
 2007-05-25 | 2007-10-10 | Object Pascal |   28 |   29 |     1
 2007-05-25 | 2007-11-19 | Object Pascal |   28 |   28 |     0
 2007-05-25 | 2007-09-19 | Pascal   |   59 |   59 |     0
 2007-05-25 | 2007-10-10 | Pascal   |   59 |   59 |     0
 2007-05-25 | 2007-11-19 | Pascal   |   59 |   57 |    -2
 2007-05-25 | 2007-09-19 | Python   | 2797 | 2904 |   107
 2007-05-25 | 2007-10-10 | Python   | 2797 | 2918 |   121
 2007-05-25 | 2007-11-19 | Python   | 2797 | 2942 |   145

pascal на fm'е действительно не очень живой.

Это сообщение отредактировал(а) Mayk - 20.12.2007, 13:17


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Fiyanov
Дата 18.3.2008, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

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



Delphi умирает уже не первую пятилетку господа. Смотрите правде в глаза. Он всегда отставал от VS. Но признаков смерти никода не было. Более того этот самый Delphi (сейчас это Developer Studio) вытащил Борланд из долговой ямы. То есть его покупают. Вот уже 2007й вышел. Правда не в полной редакции но всё же. Не думаю что делфи когда нибудь умрёт. Это глупость. Каждый день появляються новые тихнологии с новыми языками и находяться люди которые их осваивают и дают им жизнь. Делфи же уже старичёк, у него хватает фанатов. Всё зависит от мастерства!
PM MAIL ICQ   Вверх
Любитель
Дата 31.3.2008, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(archimed7592 @  18.12.2007,  12:21 Найти цитируемый пост)
В дотнете, по сути, никакой разницы между интерфейсом и дженириком нет.

Ну-ну! Это совершенно разные вещи. Дженерик (в дотнет) - это особое понятие на уровне рантайма (ВМ), что кстати не отменяет шаблонов и прочих механизмов встроенной кодогенерации (всяких там макросов...) со стороны конкретного языка. Физический класс инстанцируется при первом использовании дженерика. Для reference-типов - один (ну там мож где тип тупо храниться - дотнетчики поправят  smile ), для value-типов - по классу для каждого (всмысле заюзали дженерик с value-типом - сгенерился класс). Причём тут интерфейсы?

Дженерики из гуд - для языков, имеющих возможность создания типа на лету (читай - имеющих ВМ/интерпретируемых/etc.).

Что касается питона - вот тоже давно нравился и нравится, но вот юзать - совсем не юзаю (за исключением waf-а smile ). Почему? А фиг его почему... Прикладной уровень питона не знаю совсем  smile 

Это сообщение отредактировал(а) Любитель - 31.3.2008, 03:39


--------------------
PM MAIL ICQ Skype   Вверх
archimed7592
Дата 31.3.2008, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Любитель @  31.3.2008,  03:38 Найти цитируемый пост)
Причём тут интерфейсы?

При том, что при написании дженерика ты должен перечислить все интерфейсы, которые тебе необходимы(или получишь объект с которым ничего не сможешь сделать - даже необходимость делать new ты должен указать явно). Др. словами ничего не мешает написать не менее гибкий код просто напросто используя интерфейсы.
А если метод не интерфейсный(ну не догадался разработчик в интерфейс засунуть), то от дженерика пользы столько же сколько от копипаста smile.

Просто я на опыте сталкивался, когда несколько нужных мне классов не имели интерфейса и пришлось мне заниматься копипастом... Так что не надо "ля-ля" про инстанцирование. Если бы оно было, то ничего не мешало бы использовать рефлексию и сделать перечисление интерфейсов лишь как вспомогательный инструмент в случае дженерика. Та же ситуация, насколько я понимаю, и в Java.

Добавлено через 3 минуты и 16 секунд
Цитата(Любитель @  31.3.2008,  03:38 Найти цитируемый пост)
Ну-ну! Это совершенно разные вещи.

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


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 31.3.2008, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



duck typing рулит  smile , никаких дженериков и шаблонов не нужно 
PM MAIL Skype GTalk   Вверх
Любитель
Дата 1.4.2008, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Ну да - всегда можно обойтись боксингом/анбоксингом + интерфейсами + кастингами. Страдает производительность.

Цитата(archimed7592 @  31.3.2008,  04:17 Найти цитируемый пост)
Так что не надо "ля-ля" про инстанцирование. Если бы оно было, то ничего не мешало бы использовать рефлексию и сделать перечисление интерфейсов лишь как вспомогательный инструмент в случае дженерика.

Протесть дженерик-коллекцию интов и обычную. Увидишь разницу.

Цитата(archimed7592 @  31.3.2008,  04:17 Найти цитируемый пост)
Та же ситуация, насколько я понимаю, и в Java.

А тут вроде наоброт - гораздо хуже. Дженерики - лишь мелкое удобство.


--------------------
PM MAIL ICQ Skype   Вверх
archimed7592
Дата 1.4.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Любитель @  1.4.2008,  15:47 Найти цитируемый пост)
Протесть дженерик-коллекцию интов и обычную. Увидишь разницу.

А где разница то?
1. В синтаксисе
2. В подсказках IDE(будет показывать, что аргумент ф-ции не object, а int).
3. В просто смешной защите от дурака(нельзя будет передать ничего, кроме int). Но здесь, если отвлечься от конкретно коллекций и перейти к чему-нибудь, что будет пользоваться не только operator=, к примеру, выставлять в требованиях некоторый интерфейс дабы с обобщёнными объектами можно было бы как-то взаимодействовать, то переписав код на интерфейсы ты получишь ту же самую "защиту от дурака", которая будет выражаться в ругани компилятора при попытке использовать объект, который не поддерживает требуемый интерфейс.

Вывод: это лишь синтаксический сахар. Вполне возможно, что in a nutshell это нечто большее, но предоставляемый ф-ционал - лишь сахар, пудра, пыль.

Примеру ради: как не используя рефлексии реализовать аналог следующего плюсового предиката?
Код

template< class T >
struct LessByValue
    :   public std::binary_function< const T &, const T &, bool >
{
    bool operator()(const T &lhs, const T &rhs) const
    { return lhs.value < rhs.value; }
};

struct KeyValuePair1
{
    int key;
    std::string value;
};

struct KeyValuePair2
{
    std::size_t key;
    std::vector< char> value;
};

std::vector< KeyValuePair1 > v1;
std::vector< KeyValuePair2 > v2;
// ...
std::sort(v1.begin(), v1.end(), LessByValue< KeyValuePair1 >());
std::sort(v2.begin(), v2.end(), LessByValue< KeyValuePair2 >());


Сразу приведу пример шарповых классов:
Код

struct KeyValuePair1
{
    public int key;
    public string value;
};

struct KeyValuePair2
{
    public uint key;
    public char[] value;
};

Этим кодом я хочу подчеркнуть, что оба типа(KeyValuePair1 и 2) НЕ имеют общего интерфейса предоставляющего доступ к value(и не могут иметь, если конечно value не превратить в банальный object - от чего убегали к тому и придём).

Это сообщение отредактировал(а) archimed7592 - 1.4.2008, 21:08


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
mr.DUDA
Дата 4.4.2008, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


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

Репутация: 4
Всего: 232



archimed7592, можно конечно и так:
Код
using System;
using System.Collections.Generic;

// в дотнете нет реализации по умолчанию для сравнения массивов или списков
public class ComparableList<T> : List<T>, IComparable<ComparableList<T>>
    where T : IComparable<T>
{
    public int CompareTo(ComparableList<T> other)
    {
        for (int i = 0; i < Count; i++)
        {
            int ret = this[i].CompareTo(other[i]);
            if (ret != 0)
                return ret;
        }
        return 0;
    }
}

// общий интерфейс
public class KeyValuePair<TKey, TValue>
{
    public TKey Key;
    public TValue Value;
}

// наследники
public class KeyValuePair1 : KeyValuePair<int, string> {}
public class KeyValuePair2 : KeyValuePair<uint, ComparableList<char>> { }

// "предикат"
class LessByValue<T, TKey, TValue> : IComparer<T>
    where T : KeyValuePair<TKey, TValue>
    where TValue : IComparable<TValue>
{
    public int Compare(T x, T y)
    {
        return x.Value.CompareTo(y.Value);
    }
}

class Program
{
    static void Main()
    {
        List<KeyValuePair1> v1 = new List<KeyValuePair1>();
        List<KeyValuePair2> v2 = new List<KeyValuePair2>();

        v1.Sort(new LessByValue<KeyValuePair1, int, string>());
        v2.Sort(new LessByValue<KeyValuePair2, uint, ComparableList<char>>());
    }
}


В этом случае есть общий интерфейс. Код громоздкий, сам знаю  smile 

З.Ы. в дженериках вывод типа хромает, но мелкомягкие вроде собираются что-то с этим делать (Рихтер упоминал про это).

З.Ы(2) в холиварах на винграде - как на военных заводах времён перестройки: что ни попробуют собирать, но вместо кастрюль и сковородок выходит автомат Калашникова. Так и здесь - какой язык ни начни сравнивать с другим, хоть OCaml с Haskel - всё равно в итоге перемываем кости .NET/C#... Про паскаль и С++ забыли уже. smile  smile  smile 


--------------------
user posted image
PM MAIL WWW   Вверх
archimed7592
Дата 4.4.2008, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(mr.DUDA @  4.4.2008,  08:41 Найти цитируемый пост)
archimed7592, можно конечно и так:
[...]
В этом случае есть общий интерфейс.

Ну дык я то просил без общего интерфейса smile. Могу уточнить: классы KeyValuePair1/2 ты никак модифицировать нельзя(пусть они библиотечные, к примеру)...

Цитата(mr.DUDA @  4.4.2008,  08:41 Найти цитируемый пост)
всё равно в итоге перемываем кости .NET/C#

 smile 


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Любитель
Дата 4.4.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Ещё раз - дженерики это не механизм кодогенерации! Это возможность рантайма.

Насчёт "потесть" - я про поизводительность. Непосредственная работа с интами или постоянный боксинг/анбоксинг.

Добавлено через 1 минуту и 48 секунд
Цитата(mr.DUDA @  4.4.2008,  08:41 Найти цитируемый пост)
Про паскаль и С++ забыли уже

Йа хде?  smile 


--------------------
PM MAIL ICQ Skype   Вверх
Akella
Дата 21.4.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Fiyanov @  18.3.2008,  08:25 Найти цитируемый пост)
Всё зависит от мастерства! 

 smile 
PM MAIL   Вверх
Beltar
Дата 5.5.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Собственно выпустив C# и Java несостоятельность Си++ уже признали. Остается только подождать, пока в Паскале не уберут запрет на операции над указателями без приведения к целому, после этого Си++ можно выносить. smile Если еще и шаблоны ввести, то точно у Си++ никаких плюсов уже не будет. Конечно MS будет сопротивляться, но это ей не поможет. smile


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Alexeis
Дата 5.5.2008, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Beltar @  5.5.2008,  14:57 Найти цитируемый пост)
Остается только подождать, пока в Паскале не уберут запрет на операции над указателями без приведения к целому, после этого Си++ можно выносить.

  Операции над указателями типа PChar разрешены, так легче переносить код из C++. 

Цитата(Beltar @  5.5.2008,  14:57 Найти цитируемый пост)
Если еще и шаблоны ввести, то точно у Си++ никаких плюсов уже не будет. Конечно MS будет сопротивляться, но это ей не поможет.

  Delphi активно обменивается фичами с C#, а не С++, потому шаблонов ждать не стоит. 


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

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

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


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Beltar @  5.5.2008,  15:57 Найти цитируемый пост)
Собственно выпустив C# и Java несостоятельность Си++ уже признали. 

с каких это пор, у них совершенно разные области применения  smile учи матчасть smile 

Цитата(Beltar @  5.5.2008,  15:57 Найти цитируемый пост)
Паскале не уберут запрет на операции над указателями без приведения к целому, после этого Си++ можно выносить

Паскаль? А, это-то, что пылится на одной полке с Cobol-ом? smile   Жуть, на нем кто-то еще пишет? smile 
Так что, там еще и указатели нужно к целому приводить  smile  , так вот почему Borland никак не выпустит Delphi под 64х битную архитектуру, просто у дельфистов сразу все программы поломаются smile 

Цитата(Beltar @  5.5.2008,  15:57 Найти цитируемый пост)
Если еще и шаблоны ввести, то точно у Си++ никаких плюсов уже не будет. 

Вот именно "как", компилятор С++ на порядок(и вряд-ли на один smile ) сложнее паскалевского, "как" не получится, получится жалкая пародия smile 

Цитата(Beltar @  5.5.2008,  15:57 Найти цитируемый пост)
Конечно MS будет сопротивляться, но это ей не поможет.

а они тут причем? smile вообще язык С++ - свободный, он никому не принадлежит, есть его стандарт
язык паскаль - практически умер smile , есть много несовместимых между собой реализаций (free pascal, delphi мож чего еще), даже набора стандартных библиотек нет smile 

но паскалистам этого не объяснишь, так как:
Цитата(Beltar @  5.5.2008,  15:57 Найти цитируемый пост)
Дельфятники имеют тенденцию перебираться на что-то лучшее, потому и остаются на месте

даже когда это что-то лучшее осталось в прошлом smile 
PM MAIL Skype GTalk   Вверх
Beltar
Дата 5.5.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

даже когда это что-то лучшее осталось в прошлом 


Я конечно понимаю, что очень хочется верить, что последний вменяемый язык на земле исчезнет, но он по-прежнему продолжает развиваться, а вот C#-Builder благополучно накрылся ибо нефиг, раз Delphi .NET есть.

Цитата

а они тут причем? вообще язык С++ - свободный, он никому не принадлежит, есть его стандарт


Наличие или отсутствие стандартов, на Паскаль они вроде тоже были, глубоко и искренне пофигу, тем более, что язык для RAD избыточен для программирования контроллеров. Что включать в стандарт будем? Соответствуют-ли стандарту все плюсовые компиляторы еще вопрос.
Сделает кто-то Ada Studio сравнимую с Delphi и VS будут Аду массово использовать, нет значит не будут. Решают не столько качества языка сколько его поддержка крупной фирмой. Еще Fortran каким бы отстойным он по сравнению с европейским Алгол-60 ни был, в Америке цвел и пах, только из-за стараний IBM. Модула-2 может и лучше Паскаля, но где она сейчас? Только потому, что Borland не выпустила ее на рынок.
Совершенно стихийным было развитие Бейсика и современный VB это уже совсем др. язык. Куда более стихийным, чем у Паскаля, который ориентировался на Borland.

Цитата

Вот именно "как", компилятор С++ на порядок(и вряд-ли на один  ) сложнее паскалевского, "как" не получится, получится жалкая пародия


Даже если компилятор Паскаля будет работать в 10 раз медленнее, я бы не советовал гнуть пальцы по поводу короткого синтаксиса Си, т. к. первая же компиляция программки в 5000 строк просто сожрет все время, сэкономленное на наборе за все время создания программы. Так что каким местом сложность стала преимуществом мне непонятно.

Цитата

так вот почему Borland никак не выпустит Delphi под 64х битную архитектуру, просто у дельфистов сразу все программы поломаются 


Как и у сишников т. к. смещения по памяти типа адрес+4 могут стать некорректными. Причем скорее именно у сишников. Пасквилянт еще подумает перед тем, как извращаться. 

[quote]Жуть, на нем кто-то еще пишет?[quote]

Ну если вы не в курсе, то что я могу поделать. У меня вот знакомых пишущих на Си меньше, чем на Delphi.

Цитата

даже набора стандартных библиотек нет


Ну просто такую мелочь как класс стека (мне хватает для этого массива и Top:Integer) или отсутствовавший в VCL до Delphi 10 пустяковый компонентик иконки в трее при желании можно махом написать самому или всегда найти. smile Проблема блин. Очередь или сортировку сделать. Если сишники этого не могут без STL, то кто тогда Windows написал. Не делайте мне смешно. smile 
Не поймите меня превратно. Я ничего не имею против STL и даже за нее, меня всегда удивляло почему подобная мелочевка не идет в VCL (или по крайней мере я про нее не знаю). Но подобную мелочь всегда можно найти.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
baldina
Дата 5.5.2008, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: нет
Всего: 101



Цитата

Очередь или сортировку сделать

Вы еще кипятите?
PM MAIL   Вверх
archimed7592
Дата 5.5.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Как и у сишников т. к. смещения по памяти типа адрес+4 могут стать некорректными.
 smile
У сишников, в отличии от паскалистов, ptr + 4 - это сдвиг на sizeof(ptr) * 4, так что не надо "ля-ля". Есть конечно моменты, на которые нужно обратить внимание при портировании кода, но их ограниченное кол-во и сложность портирования не так уж и высока.

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Пасквилянт еще подумает перед тем, как извращаться. 

Ню-ню smile

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Ну если вы не в курсе, то что я могу поделать. У меня вот знакомых пишущих на Си меньше, чем на Delphi.

А как, вообще Delphi к паскалю относится? С тем же успехом можно под одну гребёнку и C++, и Java, и PHP и т.д., ибо у них синтаксис от Си происходит.

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Если сишники этого не могут без STL

Есть выбор: писать самому, допустить ошибки, отладить, снова отладить и т.д. Потом выяснится, что алгоритм неэффективен, переписать, отладить, снова отладить и так до бесконечности. Или же можно взять готовый, обобщённый алгоритм(к контейнерам то же самое относится).

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
меня всегда удивляло почему подобная мелочевка не идет в VCL (или по крайней мере я про нее не знаю). Но подобную мелочь всегда можно найти. 

А ты поищи, поищи. Давно это в паскале(да, лан, пусть, даже, в Deplhi) шаблоны появились, чтобы эта мелочёвка вообще в природе появилась? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 6.5.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Как и у сишников т. к. смещения по памяти типа адрес+4 могут стать некорректными. Причем скорее именно у сишников. Пасквилянт еще подумает перед тем, как извращаться. 

я тебе про одно, а ты мне про другое, я о том, что при работе с указателем как с целым может возникнуть проблема с переносом на 64-х битную архитектуру, например представим что в С нету арифметики указателей (прям как в паскале smile )
Код

char aray[100];
unsigned int addr = (unsigned int)aray;//бугога, а вот и лажа
addr++;
char *iter = (char*)addr;

код нормально отработает при компиляции под 32х а если скомпилировать под 64х то то-же будет работать, почти всегда smile 

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Даже если компилятор Паскаля будет работать в 10 раз медленнее, я бы не советовал гнуть пальцы по поводу короткого синтаксиса Си, т. к. первая же компиляция программки в 5000 строк просто сожрет все время, сэкономленное на наборе за все время создания программы. Так что каким местом сложность стала преимуществом мне непонятно.

ну вот недавно собирал библиотеку - 30 000 строк (Си), секунды 3 или 4 smile , а ведь современные компиляторы умеют собирать разные единицы трансляции параллельно smile 
И вообще ты не о том, вот есть к примеру в Delphi шаблоны, а может ли он самостоятельно выводить типы шаблонных параметров, а есть ли в Delphi(Pascal) аналог шаблон-шаблонных параметров (это когда в шаблон передается не тип, а другой шаблон) и тд... 
Шаблоны в Delphi - это элементарная параметризация типов, а в С++ это тьюринг полный язык, на котором можно писать программы, которые будут выполняться во время компиляции и вычислять значения и типы.

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Не поймите меня превратно. Я ничего не имею против STL и даже за нее, меня всегда удивляло почему подобная мелочевка не идет в VCL (или по крайней мере я про нее не знаю). Но подобную мелочь всегда можно найти. 

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

Цитата(Beltar @  5.5.2008,  23:28 Найти цитируемый пост)
Наличие или отсутствие стандартов, на Паскаль они вроде тоже были, глубоко и искренне пофигу, тем более, что язык для RAD избыточен для программирования контроллеров. Что включать в стандарт будем? Соответствуют-ли стандарту все плюсовые компиляторы еще вопрос.
Сделает кто-то Ada Studio сравнимую с Delphi и VS будут Аду массово использовать, нет значит не будут. Решают не столько качества языка сколько его поддержка крупной фирмой. Еще Fortran каким бы отстойным он по сравнению с европейским Алгол-60 ни был, в Америке цвел и пах, только из-за стараний IBM. Модула-2 может и лучше Паскаля, но где она сейчас? Только потому, что Borland не выпустила ее на рынок.
Совершенно стихийным было развитие Бейсика и современный VB это уже совсем др. язык. Куда более стихийным, чем у Паскаля, который ориентировался на Borland.

Вот был сначала Visual Basic, дожил он до 6-й версии, а потом взял и исчез, прекратил развиваться, а все из-за того, что он зависел от одной известной компании.

Это сообщение отредактировал(а) Lazin - 6.5.2008, 08:11
PM MAIL Skype GTalk   Вверх
jackfrost
Дата 19.6.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile 
 smile 
 smile 

Люди, все эти языки фуфло, ну сколько уже лет математикам приходится писать один и тоже цикл для вычисления банальной суммы:
for (double i=1; double tmp=0 ,i<N,i++) {tmp+=1/i; }

неужели сложно сделать что-то типа:
sum(i,1,N,1/i); или даже  sum(i,1,N,   sum(j,1,N,1/i+1/x(j)  ) )   
ну это же проще пареной репы!!! 
веть вообще это можно было-бы решить макросом, если бы в Си составной оператор мог бы быть выражением:
  result =  (  for (double i=1; double tmp=0 ,i<N,i++) {tmp+=1/i;} ,  tmp  );

идиотизм писать математику на языке заточенным по работу с железом. А все эти паскали явы и ады не далеко ушли... таже фигня..



..а те замечательные изменения которые приняли в С99 - пошли коту под хвост. Никто не хочет поддерживать уже почти 10лет, по IT меркам почти вечность....




Это сообщение отредактировал(а) jackfrost - 19.6.2008, 13:50
PM MAIL   Вверх
Alexeis
Дата 19.6.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



jackfrost, используй пакеты Математика, матлаб и проч. Там все предельно просто.


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

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

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


Новичок



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

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



Цитата(Alexeis @ 19.6.2008,  13:45)
jackfrost, используй пакеты Математика, матлаб и проч. Там все предельно просто.

МАТЛАБ пользую для прототипирования алгоритмов, а писать потом все равно все на Си приходится.
кстати действительно из смешного - в МАТЛАБе нат такой операции  smile 
если под знаком суммы стоит функция строго одного аргумента, то нужно раскрывать все в цикл...
PM MAIL   Вверх
Lazin
Дата 19.6.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(jackfrost @  19.6.2008,  13:42 Найти цитируемый пост)
Люди, все эти языки фуфло, ну сколько уже лет математикам приходится писать один и тоже цикл для вычисления банальной суммы:
for (double i=1; double tmp=0 ,i<N,i++) {tmp+=1/i; }

неужели сложно сделать что-то типа:
sum(i,1,N,1/i); или даже  sum(i,1,N,   sum(j,1,N,1/i+1/x(j)  ) )   
ну это же проще пареной репы!!! 

а почему нельзя написать функцию sum? smile 
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 19.6.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Lazin @  19.6.2008,  13:42 Найти цитируемый пост)
а почему нельзя написать функцию sum?

  Потому что она без счетчика. Без счетчика такая функция есть, по крайней мере в модуле Math.

Выбирайте на любой вкус smile .

Код

function Sum(const Data: array of Double): Extended;

function SumInt(const Data: array of Integer): Integer;

function SumOfSquares(const Data: array of Double): Extended;

procedure SumsAndSquares(const Data: array of Double; var Sum: Extended; var SumOfSquares: Extended);



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

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

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


Новичок



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

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



да не об этом речь,
Цитата(jackfrost @ 19.6.2008,  13:42)
  res=sum(i,1,N,   y(i)*sum(j,1,M,1/i+1/x(j)  ) )   


 вот о каком синтаксисе мечтают люди, а функции тут не причем - просто препроцессор долженбы развернуть этот в код:

for (tm1=0,i=1,i<N,i++ )
{
   for (tmp2=0,j=1,j<M, j++)
   {
        tmp2+=1/i+1/x(j);
   }
   tmp1+=y(i)*tmp2;
}
res=tmp1;

а через функции никак - ибо выражение 1/i+1/x(j), должно быть вычесленно до вызова функции...

может в Яве или в Си-шарпе  есть механизмы сделать нечто подобное?
собственно для этого  достаточно чтобы сложный оператор (цикла) имел значение и мог быть правым значением в присвоении:
res={for (.... } для рекурентного вызова...
ну и механизм макросов как в Сях или желательно помощнее....  всех делов...


Это сообщение отредактировал(а) jackfrost - 19.6.2008, 15:57
PM MAIL   Вверх
Alexeis
Дата 19.6.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



jackfrost, так вполне можно написать в Delphi. Смотри x(j), y(i) - это функции. Функции можно передавать в качестве параметра в другие функции. Точнее функцией будет 1/i+1/x(j) .

Добавлено через 1 минуту и 55 секунд
 Хотя пожалуй вложенно не получиться.


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

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

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


^аВаТаР^ сообщение>>
****


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

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



Цитата(jackfrost @  19.6.2008,  17:42 Найти цитируемый пост)


неужели сложно сделать что-то типа:
sum(i,1,N,1/i); или даже  sum(i,1,N,   sum(j,1,N,1/i+1/x(j)  ) )   
ну это же проще пареной репы!!! 


Кому сложно? Это делается элементарно. В одну строку. Но не на си и не на паскале.

Ф-циональные языки и их особенности не запрещали.

Код

z = sum( 1.0/x for x in xrange(1,3) )
print z


Добавлено через 1 минуту и 54 секунды
Цитата(jackfrost @  19.6.2008,  19:16 Найти цитируемый пост)
может в Яве или в Си-шарпе  есть механизмы сделать нечто подобное?

Посмотри в сторону Nemerle. Там есть очень мощная система макросов.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Любитель
Дата 19.6.2008, 16:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Цитата(jackfrost @  19.6.2008,  15:16 Найти цитируемый пост)
 вот о каком синтаксисе мечтают люди, а функции тут не причем - просто препроцессор долженбы развернуть этот в код:

Короче, люди мечтают о лямбда-функциях. Препроцессор тут не при чём smile 


--------------------
PM MAIL ICQ Skype   Вверх
lukas
Дата 19.6.2008, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



вообще написали бы еще в теме Глагол vs С++  smile ... жестокое сравнение было бы...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
jackfrost
Дата 25.6.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нафих  глаголъ  и лямбду с питоном, 
вот нашел решение, работает только в GNU C и его портах:
 
#define SUM(n,N0,N,eq) ({double tmp_##n=0; for (int n=(N0);n<(N);n++) {tmp_##n+=(double)(eq);} tmp_##n;  })

Понятно, что такой код, далеко не безопасен и далек от оптимальности, но на этапе прикидки сложной математики просто супер!!
Теперь можно писать запросто вот так:

main()
{
double A[2][3]={{1,2,3},{4,5,6}};
double sumall=SUM(k,0,2, SUM(n,0,3, A[k][n]) );
printf("%f\n", sumall );
}


такчто Си рулит и по сей день.

PM MAIL   Вверх
Lazin
Дата 25.6.2008, 10:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



покойся с миром smile  в профессиональном плане конечно))))
PM MAIL Skype GTalk   Вверх
Void
Дата 25.6.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Цитата(jackfrost @  25.6.2008,  12:13 Найти цитируемый пост)
на этапе прикидки сложной математики просто супер!!

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


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
JackYF
Дата 25.6.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Господа паскалисты, а на каких платформах уже научился работать ваш компилятор? x86_64, arm, sparc, mips, powerpc?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 25.6.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



JackYF, призывает древние силы smile 
иначе как древними паскалистов назвать сложно))))
PM MAIL Skype GTalk   Вверх
lukas
Дата 25.6.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



JackYF

freepascal на всех известных...  smile 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 25.6.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



древние силы окончательно пробудились! smile 
PM MAIL Skype GTalk   Вверх
Mayk
Дата 25.6.2008, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата(lukas @  25.6.2008,  20:10 Найти цитируемый пост)

freepascal на всех известных...  

На всех-всех? Даже на z80 с 48 кб памяти?


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 25.6.2008, 17:12 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



  Да не ребята, на железке паскаль не рулит, и С++ тоже. Трудно с малыми ресурсами писать высокоуровневый код. Получается либо С, либо сиподобный С++.


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

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

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


Новичок



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

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



Цитата(Void @ 25.6.2008,  13:50)
Цитата(jackfrost @  25.6.2008,  12:13 Найти цитируемый пост)
на этапе прикидки сложной математики просто супер!!

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

уже писал, что даже МАТЛАБ не позволяет писать ТОТ пример нормальным математическим языком..
а вот на Си - оказывается можно....

да и потом 90% математики что сейчас пишется в мире  идет для встраиваемых систем,  там естественно ничего кроме Си и быть не может по определению.


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


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


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

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



 
Цитата

для встраиваемых систем,  там естественно ничего кроме Си и быть не может по определению
  smile   smile

У меня на мобильнике есть джава. На етокене - тоже джава. Больше подобных девайсов у меня нету.


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


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(jackfrost @  25.6.2008,  17:42 Найти цитируемый пост)
да и потом 90% математики что сейчас пишется в мире  идет для встраиваемых систем,  там естественно ничего кроме Си и быть не может по определению.

 smile 
PM MAIL Skype GTalk   Вверх
jackfrost
Дата 25.6.2008, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(nerezus @ 25.6.2008,  17:54)
Цитата

для встраиваемых систем,  там естественно ничего кроме Си и быть не может по определению
  smile   smile

У меня на мобильнике есть джава. На етокене - тоже джава. Больше подобных девайсов у меня нету.

а у меня на спектруме вообще был БЕСИК  и что??
никто на яве не будет веть делать реализацию например  WiFi протокола ? ))))))  я про эту математику собсвенно говорил..
 
PM MAIL   Вверх
Lazin
Дата 25.6.2008, 18:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(jackfrost @  25.6.2008,  17:42 Найти цитируемый пост)
уже писал, что даже МАТЛАБ не позволяет писать ТОТ пример нормальным математическим языком..
а вот на Си - оказывается можно....

Mathcad тебе поможет, Мatlab он не для этого smile 

синтаксис Си можно исковеркать как угодно, главное что-бы ваши коллеги не знали где вы живете smile

Добавлено через 42 секунды
Цитата(jackfrost @  25.6.2008,  18:19 Найти цитируемый пост)
я про эту математику собсвенно говорил..

это не математика
PM MAIL Skype GTalk   Вверх
Alexeis
Дата 25.6.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(jackfrost @  25.6.2008,  16:42 Найти цитируемый пост)
 там естественно ничего кроме Си и быть не может по определению.

  По определению, может быть С++ с урезанными возможностями. В основном где могут стараются реализовать компилятор С++.


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

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

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


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Цитата(jackfrost @  25.6.2008,  19:42 Найти цитируемый пост)
уже писал, что даже МАТЛАБ не позволяет писать ТОТ пример нормальным математическим языком..

Ну хорошо, Матлаб пролетает, давно я его не трогал. Остаются языки с list comrehensions. Haskell, к примеру:
Код
sum [y(i) * sum [1/i + 1/x(j) | j <- [1..m]] | i <- [1..n]]

В точности как просили. И операторы в функциональных языках являются выражениями, ага. Функции высшего порядка, немного синтаксического сахара и вуаля.

Это сообщение отредактировал(а) Void - 25.6.2008, 19:57


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
lukas
Дата 25.6.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



Какие то ограниченные вы люди... последнее время увлекаюсь скриптовыми языками... еще что-то пишу на делфи, например в последнем проекте на делфе использую скриптовой движок PHP ... практически 70-80% в проекте будет написано на PHP, а делфи лишь как оболочка, этого требует задумка проекта...

P.S. После тестирования многих скриптовых движков (Lua, Python, PHP, Pascal Script, FastScript) я выбрал PHP... Pascal Script слишком медленный, Lua трудно итегрировать, FastScript платный, а питон отдельная история... 

Под устройства не пишу... и никогда не буду писать, это не мое... так что мне что есть реализация freepascal'ya на z80 с 48 кб, что ее нет, по - барабану... слишком узкая специализация... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 25.6.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  25.6.2008,  21:18 Найти цитируемый пост)
Какие то ограниченные вы люди...

Цитата(lukas @  25.6.2008,  21:18 Найти цитируемый пост)
еще что-то пишу на делфи, например в последнем проекте на делфе использую скриптовой движок PHP

Цитата(lukas @  25.6.2008,  21:18 Найти цитируемый пост)
Lua трудно итегрировать

Цитата(lukas @  25.6.2008,  21:18 Найти цитируемый пост)
а питон отдельная история... 


и кто после этого ограниченный? smile 
PM MAIL Skype GTalk   Вверх
lukas
Дата 25.6.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



почему то еще все забыли про 

Lazaru и MSEide аналоги среды делфи под большое кол-во операционных систем... 

GNU Pascal ... который работает на следующих платформах ... (из вики)

Код

    * ix86-gnu (GNU Hurd)
    * ix86-linux (Linux 2.x, ELF)
    * i486-linuxaout
    * i486-linuxoldld
    * i386-freebsd1.2.0
    * AIX 4.2.1
    * AIX 4.3
    * DJGPP V2 (Dos)
    * EMX 0.9B (OS/2, Dos)
    * Cygwin32 beta20 и выше (MS-Windows95/98, MS-Windows NT)
    * mingw32 (MS-Windows95/98, MS-Windows NT)
    * MSYS (MS-Windows)
    * mips-sgi-irix5.3
    * mips-sgi-irix6.5
    * sun-sparc-sunos4.1.4
    * sparc-sun-solaris2.x
    * sun-sparc-solaris 2.5.1
    * sun-sparc-solaris 2.6
    * sun-sparc-solaris 7
    * sun-sparc-solaris 8
    * alpha-unknown-linux
    * alpha-dec-osf4.0b
    * s390-ibm-linux-gnu



Цитата(Lazin @  25.6.2008,  21:36 Найти цитируемый пост)
и кто после этого ограниченный? smile  


Безосновательные комментарии игнорирую...  smile 



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 25.6.2008, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  25.6.2008,  21:47 Найти цитируемый пост)
Безосновательные комментарии игнорирую

PHP самый ограниченный из перечисленных тобой скриптовых языков))
PM MAIL Skype GTalk   Вверх
lukas
Дата 26.6.2008, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



Lazin
Цитата(Lazin @  25.6.2008,  22:37 Найти цитируемый пост)
PHP самый ограниченный из перечисленных тобой скриптовых языков)) 


опять безосновательное утверждение...



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 26.6.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  25.6.2008,  21:47 Найти цитируемый пост)
MSYS (MS-Windows)

с каких это пор MSYS это платформа? smile

Цитата(lukas @  26.6.2008,  08:00 Найти цитируемый пост)

опять безосновательное утверждение...

ну взять хотя-бы питон smile
Цитата

Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>


питон - ЯП общего назначения, не только для веба (пхп в основном для него)
в нем нет скобок
но есть пространства имен и модули
еще он быстро работает
и имеет классный синтакс, only one thing to do this))
а еще классы и функции могут содержать документацию 
также, аргументы функций можно передавать как обычно а так-же по их именам
ну и конечно множественное наследование..
и интроспекция
конечно-же функционально программирование: лямбды, замыкания.. map reduce
питон следует принципо everyting is an object 
так-же возможна перегрузка операторов
можно использовать потоки
есть много встроенных типов данных - списки, словари, кортежи (AFAIK в PHP только массивы, которые ближе к словарямsmile
можно использовать любой GUI фрэймверк.. Qt, tk, wxWidgets...
интернационализация на высоте, так как используется юникод)))

Добавлено @ 08:41
а для ПХП есть что то похожее на twisted framework?

Это сообщение отредактировал(а) Lazin - 26.6.2008, 08:42
PM MAIL Skype GTalk   Вверх
nerezus
Дата 26.6.2008, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Lazin, в пхп даже потоков нет)


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


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


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

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



Цитата(nerezus @  26.6.2008,  08:51 Найти цитируемый пост)
Lazin, в пхп даже потоков нет) 

при чем здесь язык к потокам?  smile 


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

PM MAIL   Вверх
nerezus
Дата 26.6.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



MAKCim, а вот допустим я хочу управлять графикой, делать что-то в сети и что-то просчитывать? Нужно 3 потока.
Иначе как в левых прогах будет подвисание интерфейса.


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


Амеба
Group Icon


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

Репутация: 14
Всего: 459



nerezus, если скрипт php работает больше секунды это уже плохо smile . Какая фтопку графика, когда результат работы php это html?


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

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

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


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


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

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



nerezus
ну а причем здесь аязык?
или работу с потоками нужно синтаксически встроить в язык?  smile 
я думаю, не сложно написать библиотеку для работы с потоками


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

PM MAIL   Вверх
Lazin
Дата 26.6.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



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

Добавлено через 42 секунды
Цитата(MAKCim @  26.6.2008,  10:15 Найти цитируемый пост)
я думаю, не сложно написать библиотеку для работы с потоками

на С или паскале не сложно, а на ПХП? smile 
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 26.6.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Lazin @  26.6.2008,  10:23 Найти цитируемый пост)
там возможность работы с потоками поддерживается интерпретатором...

т. е виртуальной машиной, т. е используется API хостовой системы
очевидно то же самое можно реализовать в ядре PHP
и точно так же поток будет представим объектом


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

PM MAIL   Вверх
nerezus
Дата 26.6.2008, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

Какая фтопку графика, когда результат работы php это html?
 Ай яй яй, сейчас не середина 90х в конце концов.

PDF, картинки и т.д. - все это нормально для пхп.
К тому же ты забываешь про скриптинг, где скрипты работают часами/днями.
Хотя это не сильная сторона пхп(сложность интеграции, отсутствие освобождения памяти(имхо это фатально), слабые возможности для скриптинга)
Тут у питона и луа конкурентов имхо нету. Первый особо богат возможностями(я физику на нем через биндинг ODE считал), а второй интегрируемостью и скоростью.

Цитата

или работу с потоками нужно синтаксически встроить в язык?
 На уровне библиотеки. Которой не будет.

Цитата

я думаю, не сложно написать библиотеку для работы с потоками
 А я считаю, что для PHP это невозможно. Подобные расширения потребуют изменения самого PHP, а не только компиляции к нему экстеншена. И я думаю, что тут надо будет менять существенную часть кода.

Добавлено через 34 секунды
Цитата

очевидно то же самое можно реализовать в ядре PHP
 Можно. Но это не реализовано и это нельзя исправить экстеншеном.


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


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


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

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



Цитата(nerezus @  26.6.2008,  11:04 Найти цитируемый пост)
Можно. Но это не реализовано и это нельзя исправить экстеншеном.

если не реализовано, значит никому не надо  smile 


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

PM MAIL   Вверх
nerezus
Дата 26.6.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



MAKCim, Поддержка кучи оборудования в линуксе тоже не реализована.
Нет до сих пор свободных дров для WiFi девайсов.

Я не поверю, что это никому не надо ;)

А вот многопоточность нужна мне. Но ее нету, а у меня недостаточно ресурсов(знание, время, возможности), чтобы ее сделать.


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


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(nerezus @  26.6.2008,  10:04 Найти цитируемый пост)
К тому же ты забываешь про скриптинг, где скрипты работают часами/днями.

  Мне кажеться это насилие над языком. Если есть что-то тяжелое и длительное, то это должен эффективно решать движок, при помощи быстрых и оптимизированных функций.


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

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

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


Опытный
**


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

Репутация: нет
Всего: 15



что-то вы тут спорите много... все что нет в PHP стандартном (в том числе и потоков) будет реализовано средствами delphi и добавлено в движок как библиотека... да и многопоточность мне особо не нужна.... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
MAKCim
Дата 26.6.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(nerezus @  26.6.2008,  11:15 Найти цитируемый пост)
Нет до сих пор свободных дров для WiFi девайсов.
Я не поверю, что это никому не надо ;)


здесь вопрос не только в том, надо кому-то или не надо, но еще и в отсутствии открытых спецификаций на устройства  smile 
иди напиши драйвер без спецификации  smile

Добавлено через 2 минуты и 52 секунды
Цитата(nerezus @  26.6.2008,  11:15 Найти цитируемый пост)
Поддержка кучи оборудования в линуксе тоже не реализована.

есть две проблемы
первая озвучена выше
вторая связана с ядром и порождается из-за нерешенной первой


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

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


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


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

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



Цитата

иди напиши драйвер без спецификации 

иди напиши модуль без соответствующих возможностей пхп )


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


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


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

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



Цитата(nerezus @  26.6.2008,  17:16 Найти цитируемый пост)
иди напиши модуль без соответствующих возможностей пхп ) 

но тут все проще
PHP же открыт?


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

PM MAIL   Вверх
lukas
Дата 26.6.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



здесь не обсуждаются низко уровневые языки.... 

P.S. Fast Script еще оказался и очень медленным.... это очень не приемлемо...

P.S.S. Python мож и хорош,... но нравится мне больше PHP... тем более я использую 5ую версию, где ООП более менее на высоком уровне... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 26.6.2008, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  26.6.2008,  18:08 Найти цитируемый пост)
здесь не обсуждаются низко уровневые языки.... 

а как-же Pascal и С++? smile 

Цитата(lukas @  26.6.2008,  18:08 Найти цитируемый пост)
P.S.S. Python мож и хорош,... но нравится мне больше PHP... тем более я использую 5ую версию, где ООП более менее на высоком уровне...

в PHP ООП развит слабее, нет duck typing, а так-же не все является объектом smile 
хотя я практически не знаю PHP могу и ошибаться
PM MAIL Skype GTalk   Вверх
Void
Дата 26.6.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


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

Репутация: 11
Всего: 173



Цитата(Lazin @  26.6.2008,  21:40 Найти цитируемый пост)
в PHP ООП развит слабее, нет duck typing, а так-же не все является объектом smile 
хотя я практически не знаю PHP могу и ошибаться 

Я тоже толком не знаю PHP, но по-моему типизация для объектов ам именно что утиная.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
nerezus
Дата 26.6.2008, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

PHP же открыт?
 Какая разница, открыт он или нет?
Все равно не сможешь написать модуль, не изменяя пхп, а изменять нельзя.
И даже если бы ты захотел сделать это для себя - то там немеренное количество работы.
И еще: тебе придется править каждый используемый тобой экстеншн. Ибо непотокобезопасны. А это уже нереально.

И как следствие, что если ты все-таки это сделаешь(перепишешь движок пхп, нужные тебе модули), то другой человек не сможет воспользоваться твоими достижениями:
1) Код надо будет поддерживать в актуальном состоянии, т.е. при каждой новой версии тебе придется переписывать часть своей.
2) Человеку могут понадобиться другие модули.

И кстати да: многие модули не имеют открытых исходных кодов =)


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


Опытный
**


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

Репутация: нет
Всего: 15



Lazin

ну прально... в PHP не все является объектом как например в Java, но я не считаю это недостатком... А в 5ом ПХП добавили публичные, приватные и т.п. методы, еще вроде свой-ва... могу ошибаться...

P.S. Протестировал вчера Lua, вышло так что Lua - 5 сек а PHP - 8 сек, Lua выйграла..., хотя язык довольно скуден особенно в ООП, там его вообще нет... Python вообще трудно интегрировать с VCL ... 


Цитата(Lazin @  26.6.2008,  19:40 Найти цитируемый пост)
а как-же Pascal и С++? smile 


Это языки высокого уровня, видно как вы разбираетесь в языках... а тем более логичнее было бы написать Pascal vs C, а не (C++)



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
nerezus
Дата 27.6.2008, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

Python вообще трудно интегрировать с VCL
 Ага, а еще его трудно интегрировать с ВАЗовским радиатором и часами с кукушшкой.
Объясни, каким боком тут VCL? о_О

Цитата

Протестировал вчера Lua, вышло так что Lua - 5 сек а PHP - 8 сек
 Странно кстати. я ожидал, что разница в пользу lua обычно не пара десятка процентов, а десяток раз.


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


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  27.6.2008,  07:49 Найти цитируемый пост)
Это языки высокого уровня, видно как вы разбираетесь в языках... а тем более логичнее было бы написать Pascal vs C, а не (C++)

С++ - язык программирования низкого уровня

Добавлено через 2 минуты и 58 секунд
Цитата(lukas @  27.6.2008,  07:49 Найти цитируемый пост)
хотя язык довольно скуден особенно в ООП, там его вообще нет... 

ООП там есть, луа не поддерживает классы, но зато поддерживает прототипную модель ООП...

Добавлено через 4 минуты и 40 секунд
Цитата(lukas @  27.6.2008,  07:49 Найти цитируемый пост)
Python вообще трудно интегрировать с VCL

уверен что есть готовый питоновский биндинг для VCL smile 
PM MAIL Skype GTalk   Вверх
lukas
Дата 27.6.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



Lazin, в Lua я вроде читал только какие то таблицы и шаблоны, которые и какбы заменяют объекты... но это даже не объектная модель java...


Цитата(Lazin @  27.6.2008,  08:20 Найти цитируемый пост)
уверен что есть готовый питоновский биндинг для VCL smile  


ссылочку... я что-то ничего не нашел... хотя б для c++ ...

Добавлено через 1 минуту и 57 секунд
Цитата(nerezus @  27.6.2008,  08:02 Найти цитируемый пост)
Ага, а еще его трудно интегрировать с ВАЗовским радиатором и часами с кукушшкой.
Объясни, каким боком тут VCL? о_О


да нет... это классовая иерархия в Билдере и Делфи, на которой основан весь GUI программ... да и не только... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 27.6.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  27.6.2008,  10:42 Найти цитируемый пост)
в Lua я вроде читал только какие то таблицы и шаблоны, которые и какбы заменяют объекты... но это даже не объектная модель java...

ты путаешь понятия, объектная модель и модель ООП, так что мы говорим на разных языках smile 

Цитата(lukas @  27.6.2008,  10:42 Найти цитируемый пост)
ссылочку... я что-то ничего не нашел... хотя б для c++ ...

SWIG разве не сгенерит? Да и дергать ВЦЛ компоненты через скрипт...

Цитата(lukas @  27.6.2008,  10:42 Найти цитируемый пост)
да нет... это классовая иерархия в Билдере и Делфи, на которой основан весь GUI программ... да и не только...  

думаю здесь все знают что это такое...  smile 
PM MAIL Skype GTalk   Вверх
JackYF
Дата 27.6.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Цитата(lukas @  27.6.2008,  09:42 Найти цитируемый пост)
это классовая иерархия в Билдере и Делфи, на которой основан весь GUI программ...

Не поверишь, гуй можно создавать и без VCL.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Alexeis
Дата 27.6.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(JackYF @  27.6.2008,  11:23 Найти цитируемый пост)
Не поверишь, гуй можно создавать и без VCL. 

 Это фантастика  smile 


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

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

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


Эксперт
****


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

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



Цитата(nerezus @  26.6.2008,  12:15 Найти цитируемый пост)
Нет до сих пор свободных дров для WiFi девайсов.

А какие есть?
PM MAIL WWW   Вверх
JackYF
Дата 27.6.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



Цитата(Alexeis @  27.6.2008,  11:32 Найти цитируемый пост)
Это фантастика

Ну дык. А то человек вон какую фразу сказал smile "весь GUI"...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
lukas
Дата 27.6.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



JackYF, я сказал что-то не так... я говорю что в Делфи и в Билдере весь GUI строится на VCL, а VCL строится на WinApi... мне не хочится возвращатся к WinApi, обработке сообщений и т.д, я буду терять много времени на это, легче один раз интегрировать VCL в движок... и вообще забыть про реализацию GUI ...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
nerezus
Дата 27.6.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

С++ - язык программирования низкого уровня
 Не сказал бы. Он сочетает в  себе оба подхода. Однако без использования способов низкого уровня в нем никак - все равно придется юзать.

P.S. Насчет определения разобраться бы. Я для себя юзаю такое:
ЯП низкого уровня - язык, в ктором нет абстракции над железом/ОС и напрямую приходится работать с вещами, не связанными с алгоритмом программы.

В C++ это делать приходится(указатели, контроль памяти), однако есть средства, которые в некоторых случаях позволяют этого избежать(ООП фреймворки вроде Qt), однако избежать удается не всего, да и некоторые средства просто убоги по сравнеию с аналогами в других языках(например те же ссылки, которые нельзя переназначмить даже и т.д.)

Добавлено через 5 минут и 15 секунд
Цитата

А какие есть?
 Для многих девайсов - никаких. По крайней мере для ноутов. Если повезет - то проприетарные найдутся )
Так же это относится ко всем дровам, часть закрытых большая.


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


Опытный
**


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

Репутация: нет
Всего: 15



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

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


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
nerezus
Дата 28.6.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

а то что в нем присутствуют средства, конструкции низкой абстракции... не делает его низкоуровневым языком.
 А тот факт, что без их использования нельзя написать программу ты не учитываешь?
P.S. Слово абстракция тут лишнее для низкоуровневых ЯП.


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


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  28.6.2008,  09:29 Найти цитируемый пост)
для меня единственный язык низкого уровня это ASM и все его похожие реализации... компилируемые языки, которые переводят свою запись на язык ASM являются языком высокого уровня, другие же языки, которые исполняются, переводятся в байт код - скриптовые языки... ненужно тут причеслять что кто-то решил что работа  с памятью делает язык низким по уровню... 


Цитата(nerezus @  27.6.2008,  20:38 Найти цитируемый пост)
ЯП низкого уровня - язык, в ктором нет абстракции над железом/ОС и напрямую приходится работать с вещами, не связанными с алгоритмом программы.


Язык программирования Высокого уровня - это язык предназначенный для легкого понимания человеком, для того, что-бы программы можно было писать быстро. Разницу почувствовать достаточно легко, к примеру, написав программу на питоне или руби, а потом на Си smile 
В общем, ЯП высокого уровня, это язык, который позволяет ничего не знать о железе, работе с памятью и тд... а позволяет просто описывать то, как программа должна работать... правда работать она будет как правило не так быстро))
PM MAIL Skype GTalk   Вверх
Mayk
Дата 28.6.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



АААААа! Холивар перерастает в "WTF из высокоуровневый язык программирования". >ПАНИКА<

ЗЫ. Поставил теги PG-13 и NC-17 (это мол "кино детям не смотреть")  запасся попкорном в ожидании феерии. 

Это сообщение отредактировал(а) Mayk - 28.6.2008, 13:07


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 28.6.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



господа, посмотрите в википедии насчет высокоуровневости, чтобы зря не холиварить  smile 


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

PM MAIL   Вверх
Lazin
Дата 28.6.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(Mayk @  28.6.2008,  12:54 Найти цитируемый пост)
Поставил теги PG-13 и NC-17 (это мол "кино детям не смотреть")

половине форума вход заказан smile 
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 28.6.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Lazin @  28.6.2008,  12:28 Найти цитируемый пост)
В общем, ЯП высокого уровня, это язык, который позволяет ничего не знать о железе, работе с памятью и тд... 

в С понятия "указатель" и "память" абстрактны в том плане, что нет необходимости задумываться об ее (памяти) организации и о доступе (через указатели) к ней
мы не задумываемся о селекторах, дескрипторах, сегментах, лимитах, не вычисляем эффективные адреса, не учитываем разрядность адресов...
точно так же С и "железо" не связаны друг с другом
ЯВУ - набор семантических и синтаксических правил описания действий, которые могут быть преобразованы в набор конструкций целевой системы
в этом плане даже MSIL и байт-код Java (в случае, если он не выполняется напрямую) являются ЯВУ


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

PM MAIL   Вверх
lukas
Дата 28.6.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



http://ru.wikipedia.org/wiki/Высокоуровнев...рограммирования

Цитата

Наиболее распространёнными языками подобного типа являются C++, Visual Basic, Java, Python, Ruby, Perl, Delphi (Pascal), PHP. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинство из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.



В теме не написано что мы обсуждаем именно С++, а не си...

P.S. Философы хр-вы...  smile

Добавлено через 3 минуты и 56 секунд
MAKCim

послушался вашего совета... спасибо...  smile 

Это сообщение отредактировал(а) lukas - 28.6.2008, 15:28


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Lazin
Дата 28.6.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 4
Всего: 154



Цитата(lukas @  28.6.2008,  15:25 Найти цитируемый пост)
P.S. Философы хр-вы...

Свое мнение иногда полезно иметь smile 

ну и фиг с ней, с викой, все равно не понимаю, как можно сравнивать Smalltalk и Pascal =)
PM MAIL Skype GTalk   Вверх
lukas
Дата 28.6.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



Блин, щас покапался в документации по ООП в PHP 5 ... и понял что интегрировать VCL туда будет проще простого, написав для этого несколько функций... и НАПисав несколько модулей для классов на ПХп... и все будет в ажуре... ХЫ.... щас даже умудрился сделать что-то на подобии несуществующих свойств у объектов, как в Java... круто смотрится...


Код

$obj = new TObject;
$obj->x = 16; // этого свойства нет у TObject... однакоже оно определяется при выполнении...
echo $obj->x . '!!!!!!!!!!!!!!!!!!!!!';



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
MAKCim
Дата 28.6.2008, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(lukas @  28.6.2008,  15:25 Найти цитируемый пост)
В теме не написано что мы обсуждаем именно С++, а не си...

 smile 
перечитай тему


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

PM MAIL   Вверх
lukas
Дата 28.6.2008, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 15



MAKCim, в заголовке... ???  smile 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
nerezus
Дата 29.6.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

господа, посмотрите в википедии насчет высокоуровневости, чтобы зря не холиварить
 В данном случае определение википедии - лишь одно из многих. И по нему все языки кроме всевозможных языков ассемблера будут являться высокоуровневыми. В том числе и C.


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


Опытный
**


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

Репутация: нет
Всего: 15



nerezus, я уж забыл о чем спор был....  smile ... в самом начале... 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
MAKCim
Дата 29.6.2008, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(nerezus @  29.6.2008,  17:41 Найти цитируемый пост)
И по нему все языки кроме всевозможных языков ассемблера будут являться высокоуровневыми. В том числе и C. 

так и есть
покажи другие определения  smile 


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

PM MAIL   Вверх
Страницы: (15) [Все] 1 2 3 ... Последняя »
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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