Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2012, 13:17   #241
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от anyx Посмотреть сообщение
Кстати, Пепел Феникса, надеюсь, вы откажетесь от ущербного Си-подобного синтаксиса объявления переменных, когда тип следует перед именем? Я исключительно за паскаль-подобный синтаксис:
да, тип перед именем переменной, это уродство в чистом виде!

var <имя переменной>:<тип> - вполне нормально
rpy3uH вне форума Ответить с цитированием
Старый 08.01.2012, 15:26   #242
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от anyx Посмотреть сообщение
Код:
foo(s: String; a, b: Integer = 0, 1): String =
{
    var x: Integer = a + b
    var t = reverse(s[:x-1]) + s[x+1:] -- Тут тип выведен автоматически
    return t
}
Теперь пусть x будет объектом класса MyClass без конструктора по умолчанию. На С++ создание на стеке так:
Код:
MyClass x(p1, p2, p3);
Как будет в предлагаемом варианте?
И что значит вот это:
Код:
s[:x-1]) + s[x+1:]
что за двоеточие такое интересное?
pu4koff вне форума Ответить с цитированием
Старый 08.01.2012, 17:30   #243
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Теперь пусть x будет объектом класса MyClass без конструктора по умолчанию. На С++ создание на стеке так:
Код:
MyClass x(p1, p2, p3);
Как будет в предлагаемом варианте?
Наверное вот так:
Код:
var x = new MyClass(p1, p2, p3);
Насколько я понял, Пепел предпочёл ссылочную семантику для классов, потому никакие из них не будут размещаться в стеке с подачи программиста, в лучшем случае, как оптимизация в, например, using-блоках.

Надеюсь Пепел не будет добавлять абсолютно все из предложенных фич, тем более в таком виде, в каком они сейчас есть, иначе язык станет такой же свалкой как Scala или D, что с одной стороны неплохо, так как есть всё, что может пригодиться, с другой стороны слегка удручает, делает язык громоздким и не очень лицеприятным. И необходимо продумать, как всё вместе будет выглядеть.

И, Пепел Феникса, как дела обстоят сейчас, есть ли уже сформированный синтаксис или стандартная библиотека?
netrino вне форума Ответить с цитированием
Старый 09.01.2012, 02:43   #244
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Насколько я понял, Пепел предпочёл ссылочную семантику для классов, потому никакие из них не будут размещаться в стеке с подачи программиста, в лучшем случае, как оптимизация в, например, using-блоках.
учитывая что компилятор при компиляции может точно дать ответ на вопрос будет ли(или есть ли возможность, допустим изза if) объект вынесен из метода, то оптимизацию можно будет строить на этом.
Цитата:
Надеюсь Пепел не будет добавлять абсолютно все из предложенных фич, тем более в таком виде, в каком они сейчас есть, иначе язык станет такой же свалкой как Scala или D, что с одной стороны неплохо, так как есть всё, что может пригодиться, с другой стороны слегка удручает, делает язык громоздким и не очень лицеприятным.
нет, в основном, то что я думал добавлять я выносил на обсуждение, сейчас вы мне подкинули интересные идеи, но это на потом, рано еще о сахаре думать.
Цитата:
И необходимо продумать, как всё вместе будет выглядеть.
это да, я лично беру пример с linq, если его не используешь, то его появление вообще никак не отразилось на коде(и при этом он не выглядит уродским когда применяешь).
Цитата:
И, Пепел Феникса, как дела обстоят сейчас, есть ли уже сформированный синтаксис или стандартная библиотека?
с синтаксисом то я итак более менее определился, дело то за компилем самим, нужен каркас для формирования компилятора.
а stdlib, еще нет, лишь база самая(ну оно и ясно)

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

Цитата:
что за двоеточие такое интересное?
отрезок массива, если опущена первое/второе значение, то береться начало/конец массива.
Цитата:
Как будет в предлагаемом варианте?
с одной стороны можно оставить возможность С++-стэкового создания, но с другой стороны, при создании массива, необходим new, и выйдет так что при одиночных переменных можно просто как в плюсах и так же через new, а в массиве только через new.
потому пожалуй пусть лучше будет только new.
Цитата:
Возможно Пеплу Феникса стоит посмотреть и на этот вариант.
в копилке.

в итоге все равно придеться всю тему перелистывать, подводя итоги всем идеям.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 09.01.2012 в 02:51.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.01.2012, 09:14   #245
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Посмотрите на Scala, язык позволяет практически все ну я не знаю что на нем будет трудно написать. Функциональный, ООП и плагин-расширяемый. Думаю поздно рассматривать как основу, но идей черпать можно бесконечно из него
BOBAH13 вне форума Ответить с цитированием
Старый 10.01.2012, 18:38   #246
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

итак две недели пропадут, работать надо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.05.2012, 11:07   #247
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в общем, проект временно заморожен. в связи с нехваткой времени. заморожен, но не отменен.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.12.2012, 20:31   #248
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

на данный момент решил поступить так:
пишу банальную версию компилятора на шарпе.
а дальше уже буду писать компилятор на нем же(на пред версии всмысле).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.12.2012, 23:20   #249
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

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

Оказалось, что взаимное владение объектами может представлять собой ориентированный граф, и тогда получится ровно так же, как с COM в Delphi: можно обойтись финализаторами, имея переменные. Не ссылки, а именно переменные. Тогда сборщик мусора как бы растворяется в коде, превращаясь в набор финализаторов.

Думаю, что напишу об этом статью.
Vapaamies вне форума Ответить с цитированием
Старый 28.12.2012, 00:29   #250
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли подобный текст перевести на человеческий язык? alexxx777 Помощь студентам 0 24.05.2010 19:56
Как создать вид подобный SolidWorks. KemanSR Общие вопросы C/C++ 6 04.05.2010 21:30
Добавить модуль в phpnuke-подобный движок Able2Know Фриланс 3 23.04.2010 16:29
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55