LINUX.ORG.RU

Язык программирования KBasic

 ,


0

0

Германская компания KBasic Software объявила о выходе «нового» языка программирования — KBasic. Синтаксис языка полностью совместим с синтаксисом VB и QBasic.

Среда разработки включает в себя интерпретатор, компилятор и IDE. Все это написано на Qt, что делает KBasic полностью кросс-платформенным. На сайте компании доступны для скачивания версии под GNU/Linux, Windows Vista/XP/2000 и Mac OS X.

Интересной особенностью языка является то, что он поддерживает вызовы функций из библиотек, написанных на С и С++.

>>> Подробности

★★★

Проверено: svyatogor ()
Ответ на: комментарий от VIT

> Про ассемблер, правду сказать было бы интерeснее послушать.

Что именно вам интересно? Знание ассемблера - то же самое, что знание другого языка программирования.

Nxx ★★★★★
()
Ответ на: комментарий от Nxx

> Что именно вам интересно? Знание ассемблера - то же самое, что знание другого языка программирования.

Появляется сомнение. Ну, скажем, в Power операция mr (add) занимает 1 такт, а в Inte 386 инструкция mov - от 3-х и больше. Обычно в других языках не делается предположений о времени исполнения элементарных операций - существенная разница!

VIT
()
Ответ на: комментарий от VIT

И чего?

...Если время выполнения критично, можно посмотреть таблицу времен выполнения. Элементарная операция ADD обычно занимает время примерно того же порядка, что и MOV. Вот умножение да, значительно медленнее.

Nxx ★★★★★
()
Ответ на: комментарий от anonymous

> Раскажи их руководителю про UML и Rational Rose и т.п. инструменты и о вреде изобретения очередного велосипеда.

а разве в UML есть тип схем "Блок-схема"? сколько та рашнл роуз стоит? к тому же велосипеды изобретать как раз полезно, разберешься как делается.

EvilBlueBeaver
()
Ответ на: комментарий от Nxx

Понятно. Спасибо.

Интереcно, а зачем вообще писать на ассемблере, если время не критично? И куда смотреть при программировании на, скажем, Фортран? Обычно Фортран применяют, когда время критично.

Резюме: программирование на ассемблере существенно отличается от программирования на языках высокого уровня, хотя бы тем, что необходимо правильно выполнить instruction scheduling. Языки программирования высокого уровня понятием планирования не оперируют.

VIT
()
Ответ на: комментарий от anonymous

> Какая разница, что там сказал дейкстера тридцать лет назад?

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

> Билл Гейтс, вон, тоже примерно в то же время сказал

Нашел с кем сравнить.

VladimirP ★★★★
()
Ответ на: комментарий от VladimirP

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

Только эти истины относятся совсем к другому языку программирования.

Nxx ★★★★★
()
Ответ на: комментарий от hobbit

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

Бугага! Все кого знаю, крутогнущие пальцы в стиле "мы начинали с паскаля", потом максимум осилили дельфи, чем очень гордятся и ходят как индюки.

Lumi ★★★★★
()
Ответ на: комментарий от anonymous

> ну да... скажите, кто из здесь присутствующих начинал учится прогармить с асма? А если и начинали, то кто сразу мог в него въехать?

Ну я начинал. Причём транслировал руками на листочке с бумажкой. Ты что узнать-то хотел?

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

> ну да... скажите, кто из здесь присутствующих начинал учится прогармить с асма? А если и начинали, то кто сразу мог в него въехать?

Я не начинал, но в общем, это был один из моих первых языков. Въехал сразу. Очень понравилось. Проще даже бейсика. Это было на БК-0010. На х86 асм гораздо сложнее.

Nxx ★★★★★
()

Язык "Квасик"! Квась до посинения!!! :)

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

matumba ★★★★★
()
Ответ на: комментарий от baka-kun

> Нельзя учить программированию «на бейсике», «на Си», «на языках программирования». Начинать надо с математики...

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

matumba ★★★★★
()
Ответ на: комментарий от matumba

А под делу

>Давайте тогда уже учить вождению с азов физики, графиков окисления топлива, кулачково-махательных механизмов...

Давайте инженеров этому учить, чтобы они умели правильно проектировать ДВС. А для вождения это и правда не нужно, так же как и для использования офисного пакета и для просмотра фильмов и прослушивания музыки.

temp
()
Ответ на: комментарий от matumba

> Какая несусветная чушь! Доколе всякие студенты будут нести пургу про математику, когда это совершенно другой раздел знаний?!?! Давайте тогда уже учить вождению с азов физики, графиков окисления топлива, кулачково-махательных механизмов... Математики-теоретики, раз уж им так хочется, могут хоть с квантов начинать - один фиг ТАКИЕ программеры рынку не нужны. Как и теоретики построения коммунизма.

О_о Другой раздел знаний?

Никто же не просит изучать высшую математику. Но азы знать очень желательно. Кванты это все таки физика, а не математика.

Любой грамотный программист знает математику. Без математики как программер ты никому нах*** не нужен.

Zodd ★★★★★
()
Ответ на: комментарий от matumba

> А серьёзно, язык нужен. Именно как простейший представитель чего-то алгоритмического.

Вообще-то, KBasic - полностью объектно-ориентированный, совместимый с VB.NET, так что Паскалю до него далеко.

Nxx ★★★★★
()
Ответ на: комментарий от alex-w

>> Давно так не смеялся. :) Разработчикам тоже явно чего-то не хватает в организме. http://bash.org.ru/quote/191

> ты про ПОЛИЗ что-нибудь слышал?

В смысле, про польскую обратную запись? Слышал, когда на Форте программировал. А что, она позволяет без ноля для записи чисел обходится?

pitekantrop ★★★
()
Ответ на: комментарий от pitekantrop

Ну что хоть я и недолюбливаю эти бейсики, но рад, что появился KBasic под линукс. :) Просто наша система образоваия очень любит этот бейсик и при переходе на линукс хоть ныть не будут, что их "любимого языка программирования" лишили с установкой линукс. :)

profbrown
()
Ответ на: комментарий от Lumi

>>> ну да... скажите, кто из здесь присутствующих начинал учится прогармить с асма? А если и начинали, то кто сразу мог в него въехать?

>>Ну я начинал. Причём транслировал руками на листочке с бумажкой. Ты что узнать-то хотел?

да..да.. для z80 самый простой асм... просто красота была...

Guest30
()
Ответ на: комментарий от Nxx

А и пусть! значит он будет юзаться как переходный язык во "взрослый мир". Но оригинальный, "плоский" Васик убивать нельзя.

matumba ★★★★★
()
Ответ на: комментарий от fmrlex

>Квасик, квасик... Пусть будет. Время покажет нужен он или нет.

Это точно :) лучше уж квасик, чем паскаль. Из двух зол приходится выбирать меньшее. :) Думаю бейсик меньшее зло, чем паскали с дельфями. Детишкам для основ алгоритмизации бейсик, то что надо.

Правда вот с паскалем проблемы действительно большие у *nix-истов и в школах и в ВУЗах, уж очень его любят до сих пор в некоторых особенно финансово-экономических ВУЗах, ну юристы-экономисты вечно "трудные" и не от мира сего. -:D

profbrown
()
Ответ на: комментарий от Zodd

>> Всего лишь охватить глазами.

>Неужели это невозможно? Ведь блок-схемы можно масштабировать как для простых команд, так и для целый процедур.


И масштабировать каждый раз? Нет уж, спасибо.

JackYF ★★★★
()

УНИЧТОЖИТЬ!
mv /shit/kbasic /dev/null

Да, я в школе учился на басике быдлокодить, но кроме как УЧИТЬСЯ ПРИНЦИПАМ быдлокодинга на нём делать НЕЧЕГО. Так что, как коммерческий проект KB должен несуществовать! GTFO!

xawari
()
Ответ на: комментарий от Nxx

s/профессональных программистов Visual Studio/вендобыдлокодеров/

fxd.

anonymous
()
Ответ на: комментарий от Lumi

Ха! Ха! Ха!

Вот создатели говнообжект-поскокала действительно безолаберные!

А современный Basic - это извините больше Java/C#, чем Basic.

public static int main () {
return 0;
}

Public Shared Sub Main () As Integer
Return 0
End Sub

и где тут отличия?

а вот в говнопоскокалале - там это полный кошмар.

anonymous
()
Ответ на: комментарий от anonymous

Вообще забыл упомянуть, что я приверженец C и Python. Но будьте же объективными, мля!

cruxish ★★★★
()
Ответ на: комментарий от profbrown

> Это точно :) лучше уж квасик, чем паскаль. Из двух зол приходится выбирать меньшее. :)

У вас в финансово-экономическом ВУЗе по паскалю тройка была что-ли, что вы его так не любите? :)

> Правда вот с паскалем проблемы действительно большие у *nix-истов и в школах и в ВУЗах, уж очень его любят до сих пор в некоторых особенно финансово-экономических ВУЗах, ну юристы-экономисты вечно "трудные" и не от мира сего. -:D

В паскале самый логичный синтаксис (например, конструкции если-то-иначе выглядят именно как если ... то ... иначе ..., процедуры называются процедурами, а функции - функциями, и т. п.), именно поэтому его лучше всего использовать для обучения алгоритмированию. Бейсик с этой задачей, увы, не справляется - когда я его учил в четвёртом классе, он у меня никакого интереса к алгоритмированию не вызвал. %)

cruxish ★★★★
()
Ответ на: комментарий от cruxish

для особо одаренных:

1) лезь в интерфейсную часть - добавляй заголовок

public: class function Main(): Integer; static;

2) лезем в имплементационную часть:

class function TMyClass.Main(): Integer; begin Result := 0; end;

удобно и очевидно, ога?

калл в мосге у разрабов говнопоскокала и говнодылфей.

anonymous
()
Ответ на: комментарий от cruxish

какой в жопу у паскакала логичный синтаксис?

а концепция модулей - полная катастрофа.

уж лучше бы сделали как VB начиная с 90-го года: публичный элемент модуля виден везде в проекте, приватный - только в модуле.

Все.

anonymous
()
Ответ на: комментарий от anonymous

Для начала научитесь ясно выражать свои мысли. ;)

cruxish ★★★★
()
Ответ на: комментарий от cruxish

>У вас в финансово-экономическом ВУЗе по паскалю тройка была что-ли, что вы его так не любите? :)

Нет сия чаша миновала. :) Cлава богу учился в техническом и преподавали Си, благодаря чему смог потом быстренько перескочить на жаву, за что своим преподам благодарен по сей день.:) Но видел я ребят, которые с паскаля переходили на Java или С++ откровенно скажу - это зрелище не для слабонервных. -:D

profbrown
()
Ответ на: комментарий от DarkAmateur

> ибо кнопки на форму все могём. А то так не отличишь соображающего программиста от быдлокодера.

общество, в котором отсутствует цветовая дифференциация штанов, обречено

anonymous
()
Ответ на: комментарий от profbrown

Если честно, то я переходил с паскаля на C, а затем на Java, и ничего, работал два года Java-кодером (именно кодером, потому и ушёл).

Главное не то, какой язык больше нравится. Главное - понимать суть алгоритма (если это процедурный подход) или дизайна (если это ООП/ООД). Вот после чистого C, без объектов, в Java сначала приходится сложно... :) А в Delphi хоть какой-то навык объектно-ориентированного программирования даётся.

cruxish ★★★★
()
Ответ на: комментарий от anonymous

>public static int main ()

>Public Shared Sub Main () As Integer

Различий дохера, а общего только одно оба быдлоязычки для быдлкодеров, только первый для оральный рабов сана, а второй для анальных рабов мелкософта. ВОТЪ!

ЗЫ! Насколько я знаю васик, то "as integer" - приставка к "function main()", но никак не к "sub main()" - кури коровьи лепешки, КОЛЛЕГА!

anonymous
()
Ответ на: комментарий от anonymous

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

Ты ниччо не путаешь? У паскакаля всю жизнь так было. Это в ЦЭ++ пришлось еще одну сущность вводить (неймспейсы гребаные), чтобы хоть как-то бардак с хедерами разрулить.

А концепция модулей паскаля самая простая и логичная, из тех которые я видел (по крайней мере борландовская, начиная с турбо паскаля, если бы они еще и не выпендривались с форматами модулей и библиотек, а взяли бы сишный (turbo c lib), то цены бы трубопаскакалю не было-бы)

anonymous
()
Ответ на: комментарий от anonymous

>А концепция модулей паскаля самая простая и логичная

Спорный вопрос :), а чем Вас не устраивает концепция пакетов Java, помоему проще и гениальней некуда. :)

А то что в С++ одновременно и заголовочники и пространства имен - это конечно жесть. -:D

profbrown
()
Ответ на: комментарий от anonymous

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

>Ты ниччо не путаешь? У паскакаля всю жизнь так было. Это в ЦЭ++ пришлось еще одну сущность вводить (неймспейсы гребаные), чтобы хоть как-то бардак с хедерами разрулить.

Имеется в виду, очевидно, дублирование объявлений в interface & implementation. Хотя альтернатива вида "как в VB" (а теперь и Oberon), по-моему, гораздо хуже: для получения описания интерфейса приходится делать что-то вида grep Public project. А где документировать интерфейс вообще неясно. Хотя... literate programming здесь спасает.

>А концепция модулей паскаля самая простая и логичная, из тех которые я видел (по крайней мере борландовская, начиная с турбо паскаля, если бы они еще и не выпендривались с форматами модулей и библиотек, а взяли бы сишный (turbo c lib), то цены бы трубопаскакалю не было-бы)

Как в сишный формат (который .o, .lib, .dll) запихнуть описание интерфейса? +описание типов (паскалевских). Теоретически, конечно, можно (сделать функцию GetInterface, возвращающую кусок дерева парсера, или даже просто исходник интерфейсной части или что-то ещё), но очень неудобно, да и C-шникам не поможет (строки несовместимы, порядок операторов несовместим, типы не совпадают). Всё-равно, что заставить модули Java или Perl в виде .so оформлять.

monk ★★★★★
()
Ответ на: комментарий от anonymous

> нука, а терь представьте как объяснить ученику такое:

> void func(int *var){};

> int *ptr; int val;

> func(ptr); //передаем указатель func(&val); //передаем по ссылке

> но при этом в параметрах фунукции оно записывается одинаково... А > допустим в бэйсике это выглядело бы так

> sub FuncPtr(byval pPtr as integer ptr) ' как указатель end sub

> sub FuncVal(byref pPtr as integer) ' как ссылка end sub

Неправда. Сишный вариант соответствует вашему первому. А &val = указатель (при чем тут ссылка???).

а второй вариант в терминах C (точнее C++, в C нет byref)

func_val(int &pPtr);

и вызываться она будет как func_val(val), при этом изменяя val

monk ★★★★★
()
Ответ на: комментарий от xawari

> Да, я в школе учился на басике быдлокодить, но кроме как УЧИТЬСЯ ПРИНЦИПАМ быдлокодинга на нём делать НЕЧЕГО. Так что, как коммерческий проект KB должен несуществовать! GTFO!

Если не секрет, какой это был компьютер и какой диалект языка?

Nxx ★★★★★
()
Ответ на: комментарий от matumba

>> Нельзя учить программированию «на бейсике», «на Си», «на языках программирования». Начинать надо с математики...
> Какая несусветная чушь! Доколе всякие студенты будут нести пургу про математику, когда это совершенно другой раздел знаний?!?!


Чего? Даже если ты хочешь ограничиться только информатикой, а не расти до полноценного специалиста по разработке ПО, которому потребуются знания инженерии, математики, менеджмента и так далее, то тебе потребуется:

1. математика минимум в объеме: арифметика, алгебра, теория множеств, теория графов, исчисление предикатов, теория типов;
2. вся теория вычислений, включая лямбда исчисление и комбинаторную логику;
3. алгоритмы и структуры данных.

Как ты без знания математики увидишь, что перед тобой NP-полная задача, например? Был у меня один быдлокодеришко, целый аспирант (к вопросу о студентах), который в упор не узнал «задачу коммивояжера», и кинулся решать полным перебором. Дурак? Нет, просто недоучка. Кодер, не программист. В наше время учили (и учились) намного основательней.

> Давайте тогда уже учить вождению с азов физики, графиков окисления топлива, кулачково-махательных механизмов...


С физики (и математики) ты будешь учить не водителя, а инженера-конструктора. «Водитель» в твоей терминологии — это юзер. Кодер — рабочий на конвейере с отверткой и гаечным ключом. Проблема в том, что рабочий никогда не сконструирует автомобиль, зато инженер без проблем заменит его на сборочной линии (правда по началу не с такой сноровкой).

Рабочий знает, кто и куда привинтить, а инженер — почему привинтить именно сюда, и как это лучше сделать.

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

+1024! Кодеров полно, программистов - единицы

alex-w ★★★★★
()

Я начинал с бейсика на спектруме, потом годик писал на QBasic, потом паскаль->дельфи->С->C++->(Java,C#)->(Lisp,Scheme,Haskell)

farafonoff ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.