Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.05;
Скачать: CL | DM;

Вниз

Языки свервысокого уровня.   Найти похожие ветки 

 
Дмитрий Белькевич   (2009-04-30 13:32) [80]

>Всё просто - чем выше уровень языка, тем короче и понятнее программы на нём. Как следствие, разработка быстрее, размер базы исходников, которую надо поддерживать в порядке

Delphi + VCL вроде идеально подходят. Нет разве? Кинул компоненту/класс. Вызвал один метод - и всё - пошел свою задачу дальше решать.

Компонент всё больше, всё более лучших появляется.

Зачем себе мозг брейнфаками ломать?


 
tesseract ©   (2009-04-30 14:17) [81]


> Delphi + VCL вроде идеально подходят. Нет разве? Кинул компоненту/класс.


В VCL ошибок хватает. Иногда весьма изящные перлы попадаются. Функциональным тоже неявляется - топик не об этом.


 
Дмитрий Белькевич   (2009-04-30 14:26) [82]

>В VCL ошибок хватает. Иногда весьма изящные перлы попадаются. Функциональным тоже неявляется - топик не об этом.

Вы хотите найти/сделать язык без ошибок?

Так он есть - выше написали - begin stop end.

Всё что сверх того (даже hello world), будет либо подвержено ошибкам либо будет непрактичным (будет работать со сферическими конями в вакууме). Как бы не старались.


 
Alkid ©   (2009-04-30 14:44) [83]


> Дмитрий Белькевич   (30.04.09 13:32) [80]

Ну, это если на все случаи жизни компоненты есть :)
Эту же логику можно и дальше развить - зачем вообще программировать? Ищешь готовую программу, которая делает, что надо, и используешь! Проблемы начинаются тогда, когда надо что-то нетривиальное самому писать.


 
Дмитрий Белькевич   (2009-04-30 15:01) [84]

>Ну, это если на все случаи жизни компоненты есть :)

Жаль, конечно, TWindows нет ;)

На многие стандартные случаи компоненты есть. И продолжают появлятся. Нестандартные же случаи и составляют то, что вы можете писать сами.

>Ищешь готовую программу, которая делает, что надо, и используешь!

Если уже есть программа, которая делает то, что надо - то именно так и следует поступать.

>Проблемы начинаются тогда, когда надо что-то нетривиальное самому писать.

Давайте тогда начнём с безошибочной операционки. Иначе не имеет смысла.


 
test ©   (2009-04-30 15:06) [85]

Дмитрий Белькевич   (30.04.09 15:01) [84]
>>Жаль, конечно, TWindows нет ;)
Есть unit"ы system и windows он просто в виде компонента не оформлен.))


 
tesseract ©   (2009-04-30 16:02) [86]


> Есть unit"ы system и windows он просто в виде компонента
> не оформлен.))


Иммеется в виду

 class TwindowsXP(TCustomWindows)


 
Узурап   (2009-04-30 16:33) [87]


> Delphi + VCL вроде идеально подходят. Нет разве? Кинул компоненту/класс.
>  Вызвал один метод - и всё - пошел свою задачу дальше решать.
>

дадада
потому и паника у студентов, когда нужного компонента\класса нет


 
Дмитрий Белькевич   (2009-04-30 17:28) [88]

>потому и паника у студентов, когда нужного компонента\класса нет

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


 
Игорь Шевченко ©   (2009-04-30 18:13) [89]


> Эту же логику можно и дальше развить - зачем вообще программировать?
>  Ищешь готовую программу, которая делает, что надо, и используешь


Очень разумный подход


 
Дмитрий Белькевич   (2009-04-30 19:57) [90]

Сообщение на баше почти в тему:

xxx: Блин...
xxx: я тут по матану доказательство написала на две страницы, а оказывается, это вообще опровергнуть надо было


 
Копир ©   (2009-05-01 04:25) [91]

Я не буду перечислять названия программ, т.н. языков "высокого уровня",
о которых слышал. Всем известно - я не программист.

Однако по теме, отмечу, что язык сверхвысокого уровня - это
утопия. Страна Эльдорадо. Несбыточная мечта.

Язык ассемблера предполагал знание архитектуры "машины".
Язык Pascal - знание функций и операторов в рамках программы, созданной
Никлаусом Виртом из инструкций того же ассемблера.

А "сверхвысокий"? Как создать?

Межплатформенность, преодолённая "Явой"?
Или междусайтовость, учтённая в php?

Когда-то новая, советская и утопическая псевдокультура в 20-х, 30-х годах
пропагандировала изучение и внедрение универсального языка "эсперанто".

Даже учебники издавались.

Такая брехня!
На этом самом "эсперанто" никто нынче не говорит.

Так и "сверхвысокий" уровень.

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

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

Программист - это переводчик.


 
@!!ex ©   (2009-05-01 09:56) [92]

Удалено модератором


 
Не модератор   (2009-05-01 10:08) [93]

Удалено модератором


 
Добрый Самаритянин   (2009-05-01 10:34) [94]

Удалено модератором


 
Alkid ©   (2009-05-01 14:37) [95]


> Игорь Шевченко ©   (30.04.09 18:13) [89]
> > Эту же логику можно и дальше развить - зачем вообще программировать?
> >  Ищешь готовую программу, которая делает, что надо, и
> используешь
> Очень разумный подход

Согласен.
Жалко, что не всегда есть готовая программа в приемлемом ценовом диапазоне.


 
Alkid ©   (2009-05-01 14:43) [96]


> Копир ©   (01.05.09 04:25) [91]

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


 
Копир ©   (2009-05-02 01:01) [97]

>Alkid ©   (01.05.09 14:43) [96] :
>Милейший, Вы себе превратно представляете природу языков

Очень может быть!

Я представляю очень просто: Cидит программист на ассемблере
и генерит процедуру "PrevratnoPredstavljeteProceduru"


 
Совесть ДМ ©   (2009-05-02 01:03) [98]


> Копир ©

со свиным рылом в калашный ряд?
похоже, для вас это обычное дело


 
Копир ©   (2009-05-02 01:13) [99]

>Совесть ДМ ©   (02.05.09 01:03) [98]
> Копир ©
со свиным рылом в калашный ряд?
похоже, для вас это обычное дело

Да ладно, "Совесть ДМ".
Я не гордый. В Ваш ряд совать себя не буду.


 
Дуб ©   (2009-05-02 04:56) [100]

>
> Такая брехня!
> На этом самом "эсперанто" никто нынче не говорит.

Говорят. И многие. И книги издают. Только вот при чем тут это?


 
Копир ©   (2009-05-02 07:14) [101]

>Дуб ©   (02.05.09 04:56) [100] :
>Говорят. И многие.

А можно Вас попросить?
Ну, пару фраз?

Для иллюстрации?


 
@!!ex ©   (2009-05-02 08:24) [102]

> [101] Копир ©   (02.05.09 07:14)
> А можно Вас попросить?
> Ну, пару фраз?
>
> Для иллюстрации?

Bona mateno, safo!

s - здесь как ш, а  не как s. Не в курсе, как на форуме поставить крышку сверху.


 
Копир ©   (2009-05-02 08:26) [103]

^
:)


 
@!!ex ©   (2009-05-02 08:27) [104]

> [103] Копир ©   (02.05.09 08:26)

Если что - это не оскарбление, а просто пример фразы.


 
Копир ©   (2009-05-02 08:35) [105]

>@!!ex ©   (02.05.09 08:24) [102] :
>Bona mateno, safo!

Ну и что? @!!ex?
Примитивное словосочетание.
Не понятное ни испанцам, ни итальянцам, откуда понатасканы слова.
И это "Сафо". Это лесбиянки?

Так и знал, что весь этот "эсперанто" закончит себя гей-парадом.

@!!ex: Ничего личного!
Я уважаю Ваше мнение.

Посмотрим, что за пример приведёт Дмитрий Заварзин :))


 
@!!ex ©   (2009-05-02 08:37) [106]

> [92] @!!ex ©   (01.05.09 09:56)
> Удалено модератором

Разверну то что там было написано:
На Эсперанто разговариватет примерно 20 000 000 человек, из них примерно 2 000 000 - свободно как на родном. Примерно для 100 000 этот язык родной.
Данные из учебник Колкера.

Эсперанто никогда не был советским продуктом, его изучали ученые в начале века, практически любой образованный человек говорил или как минимум понимал Эсперанто. Из-за советских репрессий практически все эти люди были убиты или посажены, поэтому образовался огромный провал в развитии и распространении Эсперанто.
Возможно, если бы эти люди выжили, сейчас Эсперанто был бы более распространенным и занимал место Английского.
Лично я считаю, что английский более перспектиынй чем Эсперанто, и Эсперанто умрет в течении лет 100. Но это обидно. И не является заслугой Английского.

Как человек сопереживающий идее распространения Эсперанто мне неприятно слышать о нем необоснованные заявления, чем и был вызван мой необдуманный ответ в [93]. Я извиняюсь перед автором, но прошу более осторожнео делать такие заявления.


 
@!!ex ©   (2009-05-02 08:38) [107]

> [105] Копир ©   (02.05.09 08:35)
> И это "Сафо". Это лесбиянки?
>
> Так и знал, что весь этот "эсперанто" закончит себя гей-
> парадом.

К сексу это слово никакого отношения не имеет. :) И я сказал, что это ш, а не с.
Какое словосочетение вам перевести?


 
Копир ©   (2009-05-02 08:48) [108]

>@!!ex ©   (02.05.09 08:37) [106] :

Внимательно прочитал.
Уважаю Ваше мнение.

Понимаете, в 20-30-е годы, когда человечество впервые столкнулось
с техническими открытиями, как-то, с аэропланом, с радио, с ракетой
даже, с революциями...

Оно (человечество) вдруг возомнило о себе невесть что!

Вы повесть "Аэлита" писателя А.Толстого, читали?
Про запуск на Марс?

Это характерно: все молодые культуры отчего-то стремят себя на Марс.
Американцы, коммунисты, если верить Толстому...

Культуры древние, вроде России, те, скорее "на Венеру".
Фильму "Планета Бурь" смотрели в пионерском лагере?

А египтян и греков ваще никуда не несёт.


 
AndreyV ©   (2009-05-02 11:29) [109]

> [106] @!!ex ©   (02.05.09 08:37)

Когда был увлечён радиолюбительством, лет в 12-16, то слышал иногда в эфире на эспиранто, но редко - английский, таки, для международной связи был де-факто. Ни того ни другого я не знал и не знаю.


 
Дмитрий Белькевич   (2009-05-02 13:58) [110]

Продолжим в теме.

ЯСВУ, как язык, лишенный ошибок, возможен. Если каждая его функция будет требовать строгого мат. доказательства. На уровне языка.

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

Очевидно, что на всё это требуется потратить огромные ресурсы. Идеальный ЯСВУ возможен, но экономически сильно не выгоден.

Кроме того, вся история развития языков - это борьба со сложностью. Здесь же сложность только увеличится.

Другое дело, что даже в Delphi часть рутины, думаю, вполне можно было переложить на компилятор.

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

И делать это не при каждой компиляции, а отдельной командой среды, или вообще отдельным приложением (что бы оставить основную компиляцию быстрой).

Нечто типа такого отдельного анализатора кода. В этом направлении можно много чего интересного придумать. Уже даже начали в этом направлении кое-что делать. Видел стороннюю тулзу, которая может автоматически лишние библиотеки в секциях uses находить.

То же самое можно было бы придумать и с автоматическим анализом потенциально опасных мест в коде. Ведь многие из них известны. Многие ошибки происходят по одним и тем же причинам. Их счетное множество.

Это, конечно, всё очень сложно программировать, но сильно упростило бы жизнь и существенно уменьшило число ошибок. Хорошо то, что такое можно запрограммировать один раз и оно работало бы универсально, с любым кодом, не вдаваясь в задачу.


 
Alkid ©   (2009-05-02 14:09) [111]


> Дмитрий Белькевич   (02.05.09 13:58) [110]

Смотрите такую вещь как Resharper - аддон к Visual Studio, который умеет делать такие вещи.

Еще смотрите такую вещь, как Microsoft Pex.

Т.е. в этом направлении работа уже не первый день ведется.


 
tesseract ©   (2009-05-02 20:41) [112]


> Копир ©


Идеи грамотные, отлично обоснованные. Но вот про саму идею  ЯСВУ - всё таки посмотрите. ЯСВУ в настоящее время сильно предметно-ориентированные, в этом их суЧность. Хотя это судьба любого практически применимого языка.


 
Копир ©   (2009-05-02 23:06) [113]

>tesseract ©   (02.05.09 20:41) [112] :

Насчёт языков (и сверхвысоких, в том числе) хорошо высказался
Курт Гёдель.

Всякий язык в своей основе противоречив.
Хоть цыганский, хоть азбука Морзе.

Зачем тогда создавать сверхвысокое противоречие?

Чем Pascal не угодил?


 
Копир ©   (2009-05-02 23:14) [114]

Чем выше уровень языка, тем дальше он от "машины".
Так программисткой может стать любая "дурочка из переулочка" :))

Идея встроенных компонент, это идея хорошая.
Но на ту самую "дурочку" и настроенная.

Взяла кнопку-бутон. Написала событие "Close", а на кнопке
нецензурное слово "Конец"...

Вот вам и дефачка-программистка :))


 
Alkid ©   (2009-05-02 23:29) [115]


> Копир ©   (02.05.09 23:14) [114]

Идея о том, что программирование будет как "Лего", и что любой бухгалтер сможет программировать далеко не нова. Подобные идеи появляются регулярно годов, наверное, с 70-х.

Развитие средств разработки иногда может создать иллюзию того, что этим идеям суждено быть реализованными. Действительно, сейчас программисты гораздо меньше озабочены всякими таинственными машинно-ориентированными вещами, как регистры, разрядности, порядок следования байт, вектора прерываний и т.п.  Даже культура раздачи идентифиаторов изменилась на более human-friendly.

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

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


 
Alkid ©   (2009-05-02 23:33) [116]

К [115] добавлю, что сужение семантического разрыва (semantic gap) между предметным языком и языком программирования является наипервейшей задачей разработчиков языков программирования. Но устранение принципиальной разницы между естественным языком и языком программирования - нет. Так что создание языков "сверхвысокого уровня" никогда не сделает из первого встречного программиста.


 
Совесть ДМ ©   (2009-05-02 23:34) [117]

а у вас похоже трибуна открыта для нариков?
я приветствую это, редкий форум допускает


 
Alkid ©   (2009-05-02 23:48) [118]


> Совесть ДМ ©   (02.05.09 23:34) [117]

Конечно открыта, специально для тебя.
Говори, не стесняйся :)


 
Совесть ДМ ©   (2009-05-02 23:56) [119]

Удалено модератором


 
Копир ©   (2009-05-03 00:06) [120]

>Alkid ©   (02.05.09 23:29) [115] :
>Программа для компьютера до сих пор принципиально отличается от программы
для человека тем, что она всегда представляет собой целостную
(полную и непротиворечивую) формальную систему, описывающую решение задачи.

Вот! Вот давно хотел услышать что-то подобное.

И на самом деле человек-программист создаёт нечто целостное, не противоречивое,
вопреки запрету Гёделя.

Не потому, что запрет не существует, а потому, что программисту нужен результат.
Готовая программа.

Иначе и компьютер мог бы программировать?

Нет. Не сумел бы. Наткнулся бы на теорему о неполноте.



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2009.07.05;
Скачать: CL | DM;

Наверх




Память: 0.72 MB
Время: 0.014 c
2-1242578354
codemaster
2009-05-17 20:39
2009.07.05
Mail Agent


15-1241684326
test
2009-05-07 12:18
2009.07.05
Borland Software продана за 75 млн долларов


15-1241011871
Savek
2009-04-29 17:31
2009.07.05
Безопасность компьютера может быть под угрозой


15-1241506846
brother
2009-05-05 11:00
2009.07.05
реальна ли задача?


2-1242549540
Чипырик
2009-05-17 12:39
2009.07.05
Вопрос по TreeView