kiltum (kiltum) wrote,
kiltum
kiltum

Наигрался до окончания триальной лицензии у REALBasic. Нус-с-с. Штука прикольная. Я даже полезную программку наваякал, которую вам не покажу по причине отсутствия нетриального компилятора.

Что в плюсах? Легкость и еще раз легкость создания программок. Конечно, изредка всплывают ляпы, но в общем - внушает. Накидал чего надо, приписал немного, жамкнул на кнопку - оно и заработало. Сразу под Win, OS X и Linux

Что в минусах? Ну, во-первых, цена. Что бы компилить под три платформы, надо pro лицензию, а она $500 стоит. Задумываешься, да. Со стандартной ($99) - можешь компилировать только под ту платформу, под которую лицензия.

Во-вторых, сам язык. Я не знаком с Visual Basic, но работа (к примеру) с файлами сделана через одно место. Скажем, я хочу создать каталог. Мне надо а) завести folderitem б) выполнить метод CreateAsFolder. И никаких вызовов типа MakeDir. Прочитать содержимое каталога еще проще - создаем объект FolderItem и в нем перебираем массив items. В итоге такой унификации процедура чтения из файла строчки выглядит следующим образом: создаем FolderItem, передав конструктору имя файла и тип того, чего передали (C:\Program Files или C:\PROGRA~1). Потом создаем новый класс типа BinaryStream или StringStream и отдаем ему созданный FolderItem. И читаем или пишем. Чего им помешало сделать fopen - хз. Есть к примеру Replace и ReplaceAll - первый отличается от второго только тем, что делаем замену один раз. В общем, слишком упростили.

Во-вторых, обработка ошибок. Думаете, там можно найти переменную типа errorno? А хрен вам - ловите эксепшены. Или проверяйте - создался класс или нет. А почему он не создался - фиг его знает.

В-третьих, странная поддержка типов. Скажем, там есть integer и Uint64. Первый +-2 миллиона, второй +16 миллиардов (? 8 байт короче). При этом, что бы отсортировать массив integer надо лишь написать ArrayName.Sort. А вот массив с Uint64 сортируйте сами как знаете. Внушает? И так повсюду. В итоге работы с файлами больше 2 гигов никто не обещает - народ пишет свои классы.

В-четвертых, шикарная и одновременно убогая многопоточная работа. Создать поток легко. А вот проконтролировать его - тяжело. Есть просто переменная State - типа работает ли он. Чего? Вы знаете слова mutex и semafore? Они тут тоже есть. В качестве ключевых слов. Но не работают.

Ну и наконец, - это бэйсик. Судя по всему, просто делается некий байт-код, который цепляется к соответствующему интерпретатору. В общем, производительность ... PHP с трудом обгоняет, но до С - дааалеко.

Так шта ... пока у меня не будет лишних 500 баксов буду дальше искать многплатформенную штуковину ;)
Tags: apple, realbasic
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments