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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 12:08   #41
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Зато D компилируется
вы сейчас всю тему испортите
не знаю, гляну его, если хорош, то может на нем остановлюсь, или же подчерпну с него идей.

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

Последний раз редактировалось Пепел Феникса; 23.11.2011 в 13:36.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.11.2011, 14:16   #42
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
идеального ЯП
совместимость с С++, то есть по сути это выходит расширенный С++.
ЛОЛШТО? ИДЕАЛЬНЫЙ ЯП на основе самого сложного, кривого и одного из самых медленных (из компилируемых в нативный код) языка? Сразу нет.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
не знаю, гляну его, если хорош, то может на нем остановлюсь, или же подчерпну с него идей. судя по вики, симпатичен, но все-таки чего то не хватает
D, конечно, намного умнее и круче С++, но по сути Digital Mars не исправили некоторых существенных проблем С++.
Например в языке оставлена возможность работы с указателями. Они, видимо, хотели, чтобы была возможность писать код только на D, в т.ч. и интеграцию с Сишными библиотеками. Но это можно было поручить модулям на самом Си. А добавлять в язык такой гемморой, как указатели, ради этого - глупость.
А вот множественного наследования не хватает. Оно хоть и опасно, но весьма полезно.

Последний раз редактировалось anyx; 23.11.2011 в 14:21.
anyx вне форума Ответить с цитированием
Старый 23.11.2011, 14:26   #43
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

он взят за основу по некоторым возможностям, сейчас уже более на шарп основываюсь
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.11.2011, 16:30   #44
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
он взят за основу по некоторым возможностям, сейчас уже более на шарп основываюсь
По-вашему, в C# вообще возможно добавить ещё что-то? «C# уверенно движется к тому, чтобы отобрать у крестов (С++) лавры самого сложного и уродливого языка.» - говорит Лурк

Советую не опираться на привычные формы и стандарты языков программирования (привычные по костыльным уродствам вроде С++).

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

Ну и помните, что ЯП (высокоуровневый. Я не говорю про Си, он создан для других целей) должен быть интуитивно понятным, код на нём должен писаться быстро, программист должен думать об алгоритмах, а не об адресах в памяти. Подумайте тысячу раз, нужны ли вам указатели и ручное управление памятью, если для этого итак существует Си.
anyx вне форума Ответить с цитированием
Старый 23.11.2011, 16:45   #45
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Подумайте тысячу раз, нужны ли вам указатели и ручное управление памятью, если для этого итак существует Си.
подумал и решил что нет.
разве что косвенно(под управлением ЯП) для связи с С функциями например.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.11.2011, 16:46   #46
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

anyx
Цитата:
Почитайте о принципиально других парадигмах программирования (функциональная, автоматная).
Угу, угу. А потом пользуйся кривыми биндингами к той же куте. От чего бежали на то и напоролись.

Цитата:
Подумайте тысячу раз, нужны ли вам указатели и ручное управление памятью, если для этого итак существует Си.
Ну вот в шарпе я передаю объект в сигнал, а потом произвожу в нём некоторые изменения. При этом в адресате сообщения оказываются изменённые данные, хотя сначала можно подумать, что изменение было после передачи. Так что приходится писать конструктор копирования, что бы объект в разных местах не был одним и тем же. Всё равно приходится извращаться с указателями и памятью, даже если они в явном виде отсутствуют.

Цитата:
Не забывайте, что за параллельными вычислениями будущее
Да ну. Вроде недостатков производительности не наблюдается.
the_deer_one вне форума Ответить с цитированием
Старый 23.11.2011, 17:08   #47
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
подумал и решил что нет.
разве что косвенно(под управлением ЯП) для связи с С функциями например.
Так для биндинга к Сишной либе, использующей указатели, используется код на Си. Функции биндинга будут принимать аргументы типа «указатель на объект твоего языка», работать с ними при помощи функций библиотеки языка.

Тут нужно предусмотреть возможность интеграции кода на вашем языке с кодом на Си. Это не будет проблемой, если вы компилируете в нативный код.

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Угу, угу. А потом пользуйся кривыми биндингами к той же куте. От чего бежали на то и напоролись.
Не утрируйте. Другие парадигмы позволяют избавиться от множества проблем императивной парадигмы. Никто не спорит, что возникают проблемы другого рода. Их, конечно, предстоит как-то решать. Но создание своего языка - процесс, требующий решения множества проблем. Никто не говорил, что будет легко.

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Ну вот в шарпе я передаю объект в сигнал, а потом произвожу в нём некоторые изменения. При этом в адресате сообщения оказываются изменённые данные, хотя сначала можно подумать, что изменение было после передачи. Так что приходится писать конструктор копирования, что бы объект в разных местах не был одним и тем же. Всё равно приходится извращаться с указателями и памятью, даже если они в явном виде отсутствуют.
Значит реализация в C# кривая, раз приходится так извращаться. С точки зрения логики указателей вообще не существует, значит и ЯП может обойтись без них. Готов поспорить, что озвученную вами проблему я смогу решить за неделю, избавившись от необходимости использования указателей.

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Да ну. Вроде недостатков производительности не наблюдается.
Не говорите о том, в чём не понимаете. В крупных веб-сервисах распределённые вычисления и распределённые базы данных используются вовсю. А постепенно они приходят и в жизнь простых программеров - облака, распределённые базы данных (гуглите MongoDB, она сейчас стремительно набирает популярность). В общем, почитайте Хабр.
anyx вне форума Ответить с цитированием
Старый 23.11.2011, 17:22   #48
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

anyx
Цитата:
С точки зрения логики указателей вообще не существует, значит и ЯП может обойтись без них.
В смысле не существует? 0_0

Цитата:
Не говорите о том, в чём не понимаете. В крупных веб-сервисах распределённые вычисления и распределённые базы данных используются вовсю. А постепенно они приходят и в жизнь простых программеров - облака, распределённые базы данных (гуглите MongoDB, она сейчас стремительно набирает популярность). В общем, почитайте Хабр.
Ну да, Распределённость, Многопоточность, Светлое Будущее, Масштабируемость, облака как Символ Эпохи. Скоро уже хеловорды многопоточными будут.
the_deer_one вне форума Ответить с цитированием
Старый 23.11.2011, 17:25   #49
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Ну вот в шарпе я передаю объект в сигнал, а потом произвожу в нём некоторые изменения. При этом в адресате сообщения оказываются изменённые данные, хотя сначала можно подумать, что изменение было после передачи. Так что приходится писать конструктор копирования, что бы объект в разных местах не был одним и тем же. Всё равно приходится извращаться с указателями и памятью, даже если они в явном виде отсутствуют.
может не повезло, а может то что не верное направление передано.
Цитата:
Да ну. Вроде недостатков производительности не наблюдается.
не, ну почему же, если например взять отложенные вычисления(или вычисления по требованию, не помню как точно) и многопоточность, может чтото и выйти интересное, но это надо четко продумать, чтоб без косяков вышло.
да и само параллельное можно глянуть.
Цитата:
Так для биндинга к Сишной либе, использующей указатели, используется код на Си. Функции биндинга будут принимать аргументы типа «указатель на объект твоего языка», работать с ними при помощи функций библиотеки языка.
например для вызова АПИ функций придется писать обертку, чтоб создать мою оберку? как то очень, я думаю ближе к шарповому маршалингу присмотреться, выходит что-то среднее.
Цитата:
Тут нужно предусмотреть возможность интеграции кода на вашем языке с кодом на Си. Это не будет проблемой, если вы компилируете в нативный код.
вообще мне не нравится понятие "код на Си", интегрируюсь я с бинарником, а не с кодом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 23.11.2011 в 17:34.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.11.2011, 17:54   #50
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
например для вызова АПИ функций придется писать обертку, чтоб создать мою оберку? как то очень, я думаю ближе к шарповому маршалингу присмотреться, выходит что-то среднее
Так код на Си является только обёрткой для преобразования данных. Т.е. код на Си будет преобразовывать всякие поинтеры/структуры в объекты вашего языка. А код на вашем языке реализует логику. Это нормально, ведь писать логику на Си сложно. Хотя можно, конечно, если требуется производительность.

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
В смысле не существует? 0_0
В том смысле, что когда вы думаете над алгоритмом, вы не оперируете понятием «указатель», вы оперируете данными, объектами, называйте как хотите. Указатель - деталь реализации, а не логики, т.е. с точки зрения логики нет никаких указателей.

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Ну да, Распределённость, Многопоточность, Светлое Будущее, Масштабируемость, облака как Символ Эпохи. Скоро уже хеловорды многопоточными будут.
Я этого не говорил. Я говорил, что много где используются распределённые вычисления, поэтому неплохо было бы предусмотреть возможность лёгкой их реализации в языке.
Я не понимаю, вы пишите что-то, никак не связанное с обсуждаемой темой, лишь бы написать что-то?

Последний раз редактировалось anyx; 23.11.2011 в 18:06.
anyx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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