Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.01.2015, 11:04
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TheFox Посмотреть сообщение
Хотя конечно я не в курсе как оно в той экзотике
Это не экзотика.

Цитата Сообщение от TheFox Посмотреть сообщение
Дык сами то типы никуда не деваются, просто определяются "на лету".
В ряде случаев никакие проверки не нужны.

Цитата Сообщение от TheFox Посмотреть сообщение
то пишите на асмах
Я похож на наркомана?

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
а потом подвели теоретическую базу.
Ага. Потом... В 30-х годах...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2015, 11:04
Ответы с готовыми решениями:

Delphi !? Плюсы и минусы
Почему при поиске работы через Internet в странах Европы и Америки очень редко можно встретить необходимость в Delphi?

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

Что вы делаете необычное на форуме(плюсы и минусы)
что вы делаете на форуме не обычного? Ну не так как все... Вот пример: прежде чем ответить кому-либо, почему-то смотрю его профиль,...

262
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
29.01.2015, 11:05  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Всё прекрасно читаемо. Просто это не вписывается в Ваш шаблон.
Читать можно все что угодно. Китайцы с японцами вон иероглифы читают, а вот я например не могу, хотя и пытался. Да и они сами не всегда могут, если каллиграф сильно творчески к делу подошел. примерно то же самое и в этих list(list(list))-языках.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
29.01.2015, 11:11
Цитата Сообщение от TheFox Посмотреть сообщение
Так конкурентов то особо не видно, по крайней мере у JS
есть языки компилируемые в js.
http://coffeescript2ru.github.io/
http://livescript.net/
и не только
Цитата Сообщение от TheFox Посмотреть сообщение
да и на вотчину PHP покушается пожалуй что только неожиданно ставший модным Пайтон
Кто на неё только не покушается. java, Ruby, node.js, Haskell, бейсик .....
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
29.01.2015, 11:12  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Это не экзотика.
Видимо очень многие на этом пишут, только вот где? ИМХО, такая же экзотика, как и Хаскел или D, на которых серьезно программирует человек 200 со всей страны — языки для развлечения.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
29.01.2015, 11:16
Цитата Сообщение от korvin_ Посмотреть сообщение
В ряде случаев никакие проверки не нужны.
Проверок (в compile-time) много не бывает. ... а, ну да, лисп же задумывался только для интерпретатора. Тогда, да, для скорости. Пущай программер мучается. Подход 50-ых: не машина для человека а человек для машины.
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
29.01.2015, 11:17  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Кто на неё только не покушается.
Первые три еще куда не шло, а вот два последних... С тем же успехом туда можно и С вписать. Преуспели они в этом правда похоже не очень, наверное даже хуже, чем ASP.NET. Хотя надо бы поискать статистику.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.01.2015, 11:25
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Проверок (в compile-time) много не бывает.
Бывает. Почитай TAPL, что ли.

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
ну да, лисп же задумывался только для интерпретатора
Что за чушь?

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Подход 50-ых: не машина для человека а человек для машины.
Это в этих ваших «жуткотипизированных» языках такой подход: всё компилятору разжуй да в рот положи. Такими темпами скоро, вместо решения непосредственно задачи, программисты будут большую часть времени заниматься описанием типов, метатипов, лишь бы удовлетворить компилятор.
0
 Аватар для TheFox
131 / 67 / 10
Регистрация: 13.05.2013
Сообщений: 437
29.01.2015, 11:36  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
вместо решения непосредственно задачи
Все функциональщики так говорят Ну и еще мой препод по Прологу.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
29.01.2015, 11:43
Цитата Сообщение от korvin_ Посмотреть сообщение
Да — не нужно бороться с изъянами системы типов
Может это изъяны в голове, а не в системе типов?

Цитата Сообщение от korvin_ Посмотреть сообщение
Такими темпами скоро, вместо решения непосредственно задачи, программисты будут большую часть времени заниматься описанием типов, метатипов, лишь бы удовлетворить компилятор.
У меня нет времени чтобы точить пилу, мне нужно пилить! А ничего, что потом ( ну если конечно речь идет не о программке в 100 строк для администринования ip'шников ) все эти системы типов ( естественно правильно выстроенные ) спасут от сотен ошибок вызванных изменениями в коде ( не все же хотят по три юнит-теста на одну строку кода писать, лол ).
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
29.01.2015, 11:45
Цитата Сообщение от korvin_ Посмотреть сообщение
Что за чушь?
Если в стандарте есть eval - то это интерпретируемый язык.
Цитата Сообщение от korvin_ Посмотреть сообщение
Это в этих ваших «жуткотипизированных» языках такой подход: всё компилятору разжуй да в рот положи.
Такое впечатление, что лисп не Маккарти выдумал а Рон Хаббард .
На себе много раз убеждался. Чем строже компилятор, тем дольше он ругается и не хочет код генерить, но потом это время многократно окупается в рантайме. Мне и на js (c прибамбасами) писАть приходится. Вот там приходится попотеть. (Написать, что ли свой js с блек джеком и статическими типами компилируемый в js?)
Цитата Сообщение от korvin_ Посмотреть сообщение
Такими темпами скоро, вместо решения непосредственно задачи, программисты будут большую часть времени заниматься описанием типов, метатипов, лишь бы удовлетворить компилятор.
Вы пытаетесь описать идеальный язык.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.01.2015, 11:51
Цитата Сообщение от TheFox Посмотреть сообщение
Все функциональщики так говорят
1) Функциональщики как раз самые большие любители всяких систем и теорий типов (Hindley–Milner, Martin-Löf и т.п.)
2) Вообще так говорят почти все, кроме «энтерпрайзнутых» (обычно ООПшников), выстраивающих громадные иерархии шаблонных классов и вышеупомянутых фанатов теорий типов.

Добавлено через 23 секунды
Цитата Сообщение от Voivoid Посмотреть сообщение
Может это изъяны в голове, а не в системе типов?
И тебя отсылаю читать TAPL.

Добавлено через 4 минуты
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если в стандарте есть eval - то это интерпретируемый язык.
А еще в стандарте есть compile.

http://www.lispworks.com/produ... gends.html
Myth #4: Lisp has no compiler

Since its earliest days, now 40 years ago, Lisp implementations have been variously interpreted or compiled, and often both. In fact, much important work in the theory of program compilation has been done using Lisp, and Lisp compilers have benefited enormously by this. No modern commercial Lisp is without a compiler. The fact that modern Lisps often come with an interpreter as well is simply a convenience for some implementations to encourage late-binding semantics and promote program flexibility, including interactive debugging.

The ANSI Common Lisp standard does not require the presence of a compiler provided that an interpreter achieves the defined semantics. It is intended that the marketplace will sort out this issue. The ability to omit a compiler allows certain price/performance points to be achieved, especially among subset and freeware implementations. However, serious commercial implementations invariably offer optimizing compilers as a standard part of their product. Ask to be sure, but don't let ever anyone tell you there's no such thing!
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Вы пытаетесь описать идеальный язык
Для тех кто пишет программы методом «прокатиться лицом по клавиатуре».
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
29.01.2015, 12:03
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Написать, что ли свой js с блек джеком и статическими типами компилируемый в js?
поздно http://www.typescriptlang.org/
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
29.01.2015, 12:27
Цитата Сообщение от pycture Посмотреть сообщение
Пасиб.
Как то я ... мимо прошёл. Билл Гейтс - голова!
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
29.01.2015, 12:41
Цитата Сообщение от korvin_ Посмотреть сообщение
И тебя отсылаю читать TAPL.
Я не осилил. А что там в двух словах? Надеюсь не что-нибудь в духе того, что мол статически типизированные языки это подмножество динамически типизированных?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.01.2015, 13:00
Цитата Сообщение от Voivoid Посмотреть сообщение
А что там в двух словах?
Будучи статическими, системы типов обязательно консервативны (conservative): они способны однозначно доказать отсутствие определенных нежелательных видов поведения, но не могут доказать их наличие, и, следовательно, иногда вынуждены отвергать программы, которые на самом деле при выполнении ведут себя корректным образом. Например, программа

if <сложная проверка> then S else <ошибка типа>

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

...

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

...

Безопасность языка — это не то же самое, что статическая безопасность типов. Безопасности языка можно достичь при помощи системы типов, но можно добиться ее и с помощью проверок на стадии выполнения, которые отлавливают бессмысленные операции при попытке их исполнения, и останавливают программу или порождают исключение. К примеру, Scheme является безопасным языком, несмотря на отсутствие статической системы типов.

С другой стороны, в небезопасных языках часто имеются статические проверки типов, которые <<по возможности>> отлавливают хотя бы самые очевидные огрехи программистов. Впрочем, такие языки не могут считаться и безопасными с точки зрения типов, поскольку в общем случае они не могут гарантировать, что корректно типизированные программы ведут себя корректно — проверка типов в таком языке может предположить наличие ошибок во время выполнения (что, безусловно, лучше, чем ничего), но не доказать их отсутствие.
http://newstar.rinet.ru/~goga/... .html#toc1
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
29.01.2015, 13:35
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если в стандарте есть eval - то это интерпретируемый язык.
Что серьёзно? В большинстве реализаций CL eval не интерпретируется без специальных телодвижений. eval в CL -- метациклический вычислитель и где-то между раскрытием макросов и выполнением происходит компиляция (в native, как правило, если не CL под жабу какую-нибудь).

Добавлено через 2 минуты
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А хаскелем заинтересовался когда увидел сорцы и подумал "Ух, ты, какой питон необычный!". (Сам Питон, я кста, до сих пор не знаю.)
Сравнивать Python и Haskell -- это надо обкуриться. Между этими языками пропасть по всем фронтам. Совершенно разные культуры.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
29.01.2015, 13:35
Цитата Сообщение от korvin_ Посмотреть сообщение
Безопасность языка — это не то же самое, что статическая безопасность типов
Кто бы сомневался. Только делать из этого вывод о ненужности статической типизации, это... э-э-э, как-то странно. Что-то уровня: подушки безопастности не нужны, потому что все равно они не дают 100% гарантии( например от лобового столкновения с бетонной стеной на высокой скорости, лол ). Отличная логика, что сказать
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
29.01.2015, 13:47
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
большинству людей неудобно.
Когда человек не знает языка, то конечно код понять сложно. В действительности же, достаточно минимальных знаний Lisp, что бы понять этот код, у тебя этих знаний нет, но тем не менее ты почему-то считаете себя в праве говорить за большинство и утверждать что sexpr-ы плохо читаются. "Не знаю, но осуждаю" в действии. Покайся.

Добавлено через 4 минуты
Цитата Сообщение от Voivoid Посмотреть сообщение
Что-то уровня: подушки безопастности не нужны, потому что все равно они не дают 100% гарантии( например от лобового столкновения с бетонной стеной на высокой скорости, лол ). Отличная логика, что сказать
Аналогия не корректна. Когда есть подушка безопасности, она просто есть и не мешает, а когда есть типы, нужно постоянно доказывать компилятору что ты хочешь сделать, вместо того чтобы просто сделать. И чем "продвинутее" система типов, тем сложнее это сделать. Апогей на сегодняшний день всякие там агды, атс-ы да идрисы. В культ возведено то, что ты вообщем-то не решаешь задачу, а доказываешь компилятору её корректность, а вычисления это так, сайдэффект такой. Конечно с практической т.з. это никому не нужно.

Добавлено через 3 минуты
Цитата Сообщение от Voivoid Посмотреть сообщение
У меня нет времени чтобы точить пилу, мне нужно пилить!
Ну в случае с Haskell или какой-нибудь агдой это звучит так: "у меня не было времени пилить, я всё время точил пилу, поэтому ничего не сделал".
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
29.01.2015, 13:53
korvin_, мдя, альтернативно одарённого Вы цитируете.
Цитата Сообщение от korvin_ Посмотреть сообщение
будет отвергнута как неверно типизированная, даже если <сложная проверка> всегда выдает значение <<истина>>, поскольку статический анализ неспособен это заметить.
выражение в if должно быть типа Bool, что получить не сложно. И наоборот, всякие x=0.0; if(x) - источник ошибок.
Цитата Сообщение от korvin_ Посмотреть сообщение
неспособны запретить совсем любое нежелательное поведение программ
будто кто то ставил перед собой цель создать язык на котором нельзя ошибиться.
Цитата Сообщение от korvin_ Посмотреть сообщение
что в качестве аргументов элементарных арифметических операций всегда используются числа
- "числа" - это слишком общее. Целые беззнаковые, вещественные, комплексные. Арифметические операции бывают и с матрицами и т.д.
Цитата Сообщение от korvin_ Посмотреть сообщение
или чтобы индексы массива никогда не выходили за предельные значения
pascal, (и ada, если не путаю).
Цитата Сообщение от korvin_ Посмотреть сообщение
но можно добиться ее и с помощью проверок на стадии выполнения
Аха, вылезет у юзера в непроверенной ветке. Вместо этого, отловилось бы при компиляции.
Цитата Сообщение от nullxdth Посмотреть сообщение
eval в CL -- метациклический вычислитель
Метадоновый вычислитель - это,наверно, круто. А я так понимаю: если строка формируется в рантайме, то к проге должен быть прикручен интерпретатор.
Цитата Сообщение от nullxdth Посмотреть сообщение
Сравнивать Python и Haskell -- это надо обкуриться
Я тогда про хаскель вообще ничего не знал. А на питоне только сорцы видел. У обоих структурные отступы. Вот.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
29.01.2015, 13:59
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А я так понимаю: если строка формируется в рантайме, то к проге должен быть прикручен интерпретатор.
Ты не понимаешь. Ничего не интерпретируется, в runtime компилируется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2015, 13:59

Какой язык веб-программирования выбрать? Плюсы\минусы
Вопрос что ни на есть из раздела священных, но все же... Какой язык веб-программирования кто предпочитает? У кого какие плюсы и...

Плюсы и минусы
Господа, хочется узнать ваше мнение по такому варианту работы с сервером терминалов. Хочу предложить к рассмотрению: Cервер...

Плюсы и минусы C#
Добрый день! Не хочу ни в коем случае развязывать вечную войну идущей между Delphi и С, но требуется грамотный взвешенный ответ. Вообще...

Плюсы и минусы
В массиве Z(m) найти число чередований знака, то есть число переходов с плюсов на минус или с минуса на плюс. Например, в...

Плюсы и минусы J2se
Ребята, такой вопрос... Какие преимущества есть у j2se перед другими языками? и почему изучают именно его , а не чтото другое? ведь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Жара жесть.
kumehtar 18.08.2026
Пролетают летом дни Тридцать пять жары в тени. Каждый август год от года Дарит жаркую погоду.
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru