Juan-Carlos Gandhi (
juan_gandhi) wrote2011-10-30 09:21 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
о языцех - Бейсик
Я его, конечно, никогда не уважал. Но когда Андрей Петрович (тм) попросил посмотреть на его программу, которая типа вычисляет предел в категории, я, конечно, завёлся, и мы месяц, наверное, протрахались с этим делом, дойдя до интерактивного построения категории и до расчёта топологий Гротендика; с топологиями Гротендика мы обломились на категории Δ3, где, по моим прикидкам, расчёт займёт три недели на бейсике. Пришлось перекатать на фортран, а операции над множествами - на ассемблер; 4 часа - и топологии расклассифицированы.
В следующий раз это был вижуал бейсик, Берлин, 95. Netz&So ввёз меня в качестве гастарбайтера; заплатили, по немецкому обычаю, половину (а я варежку разинул); но я насладился Западным Берлином, вообще атмосферной немецкой конторы.
Что я делал - локализационное решение для вижуал бейсика. Выдёргивал ресурсы из кода, строил файлы с переводами, и в рантайме считывал это дело, подставляя ресурсы. Конкатенация строк на Бейсике ещё хуже, чем на Фортране; я развлекался написанием смесил сишного и Бейсиковского кода, лишь бы работало. Работало, но я как-то не насладился. Напрягал повсеместный дебилизм в решениях и невозможность сделать элементарные вещи не через жопу.
Самый плохой язык из тех, что мне встречался.
В следующий раз это был вижуал бейсик, Берлин, 95. Netz&So ввёз меня в качестве гастарбайтера; заплатили, по немецкому обычаю, половину (а я варежку разинул); но я насладился Западным Берлином, вообще атмосферной немецкой конторы.
Что я делал - локализационное решение для вижуал бейсика. Выдёргивал ресурсы из кода, строил файлы с переводами, и в рантайме считывал это дело, подставляя ресурсы. Конкатенация строк на Бейсике ещё хуже, чем на Фортране; я развлекался написанием смесил сишного и Бейсиковского кода, лишь бы работало. Работало, но я как-то не насладился. Напрягал повсеместный дебилизм в решениях и невозможность сделать элементарные вещи не через жопу.
Самый плохой язык из тех, что мне встречался.
no subject
no subject
Weak typing means that a language implicitly converts (or casts) types when used. Consider the following example:
var x := 5; // (1) (x is an integer)
var y := "37"; // (2) (y is a string)
x + y; // (3) (?)
In a weakly typed language, the result of this operation is unclear. Some languages, such as Visual Basic, would produce runnable code producing the result 42: the system would convert the string "37" into the number 37 to forcibly make sense of the operation.
no subject
Не знаю, откуда этот бред появился в головах людей и википедии. Слабая система типов это (def.) система типов, нарушающая инварианты, которые она должна поддерживать. Например, в С++ можно считать область памяти, где лежит int, как string. Получается, что типы в нём фактически не играют никакой роли, потому что проверка типов такие случаи не отлавливает. В коэрции же ничего плохого нет.
no subject
no subject
In 1974 Jones and Liskov describe strong-typed language is one in which “each type defines a set of primitive operations that are the only direct means for manipulating objects of that type.”
Расскажите, каким именно образом вы применяете это определение к VB.
no subject
no subject
>> Ко вторым скорее относятся те, которые могут обходиться без определения типа для переменной
VB каждой переменной назначает тип. В случае, если не используется Option Explicit, необъявленной переменной назначается тип Variant, который является обычным вариантным типом, ничуть не хуже такового в каком-нибудь "сильно типизированном" O'Caml.
>> операции над типами могут определяться в контексте их использования
Классы типов "сильно типизированного" Haskell позволяют определять операцию по контексту использования.
>> И программисты, которые настоящие хард-кор бэйсиковеды, вовсю пользуются слабой типизацией.
Вы всё ещё считаете, что он слабо типизирован? Оспорьте утверждения выше или причислите O'Caml и/или Haskell к слабо типизированным.
no subject
Если я правильно понимаю, то пример из википедии демонстрирует Variants[1]. Строго говоря, принято говорить о том что variants, проделывают дыры (loopholes) в системах типов, или же говорят, что они привносят слабую типизацию [2, 3].
В Pascal есть Variant Records. Однако так уж условлено, что его не относят к языкам со слабой типизацией.Тоже самое с Ada.
Конечно, я могу здесь сильно ошибаться и вовсе не обязательно, что так как я написал и есть. Интересная беседа вот и решил высказать просто мнение. ;-)
______________________________
[1] The Ultimate Data Type (http://www.ecs.syr.edu/faculty/fawcett/handouts/cse775/presentations/BruceMcKinneyPapers/variants.htm)
[2] Benedict R. Gaster and Mark P. Jones, A Polymorphic Type System for Extensible Records and Variants
[3] Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism (http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf)
[4] Jacques Garrigue, Programming with Polymorphic Variants