LINUX.ORG.RU
ФорумTalks

Современный BASIC


0

1
Sub Halve (ByRef i As Integer)
    i /= 2
End Sub

Sub Triple (ByRef i As Integer)
    i *= 3
End Sub

Type operation As Sub (ByRef As Integer)

' an array of procedure pointers, NULL indicates the
' end of the array
Dim operations(20) As operation = _
{ @Halve, @Triple, 0 }

Dim i As Integer = 280

' apply all of the operations to a variable by iterating through the array
' with a pointer to procedure pointer
Dim op As operation Ptr = @operations(0)
While (0 <> *op)
    ' call the procedure that is pointed to, note the extra parenthesis
    (*op)(i)
    op += 1
Wend

Print "Value of 'i' after all operations performed: " & i

Кто первым догадается, что этот код делает? (взято из документации к FreeBASIC). Сторонникам C такая галиматья должна быть как бальзам на грудь, хотя работа с указателями на языке Intel Assembler'а, например, выглядит куда логичнее и понятнее, поскольку обходится минимумом мозолящих глаза сущностей.
Я это к тому веду, что современный BASIC всё также многословен, но по степени замороченности наступает на пятки языку C. На мой взгляд, всё же основным недостатком BASIC, из-за которого им мало кто пользуется в Linux и вообще в nix'ах - это отсутствие стандартизации. Но если считать, что, например, Java, PHP и Perl - это разновидности языка C (а так оно вообще говоря и есть, если посмотреть на их синтаксис), то BASIC с его немногочисленными живыми разновидностями (а по сути только с тремя: FreeBASIC, Gambas и Mono BASIC aka VB.Net) уже не будет казаться таким уж многоголовым чудищем. Кстати, весьма интересно, что Microsoft BASIC PDS 7.1, вышедший что-то в 89-м году или 90-м, был вообще одним из первых универсальных ЯП, отлично заточенных под работу с базами данных....

P.S А вообще программистам следовало бы думать о качестве кода, а не о том, какие инструменты правильные, а какие нет. А то получается как в басне Крылова: «а вы, друзья, как ни садитесь, всё в музыканты не годитесь».

★★★★★
Ответ на: комментарий от DRVTiny

Единственная проблема там с синтаксисом, которая может слегка замедлить чтение кода, — это выражения типов, которые можно было организовать намного более логично. Всё остальное — просто твое неосиляторство и/или синдром утёнка.

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

Нубы и кулхацкеры пишут (однострочники любят многие, и оптимизацию там, где от нее профита нет - конпелятор умнее :)), а потом гадают «и как я получил то, что получил».

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

Нубы и кулхацкеры пишут (однострочники любят многие, и оптимизацию там, где от нее профита нет - конпелятор умнее :)), а потом гадают «и как я получил то, что получил».

Кулхацкеропроблемы. При чем тут Си?

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

Ну их-то код, слава богу, мне вряд ли придётся разбирать.

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

Почитав код кулхацкеров, ТС ITT гонит на Си, потрясая... фортраном

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

Посмотрите на FORTRAN, на котором написано важнейшие для функционирования оборонного комплекса США ПО - это же больше всего на что похоже? - на предложения, написанные нормальным грамотным английским языком, эти программы можно просто читать, а если там содержится программисткий косяк, логическая ошибка, это очень легко отследить. Копание же в чужом коде на Си похоже на разрывание зловонной помойки, где чёрт ногу сломит...

Переполненный GOTO, арифметическими IF'ами, неявными объявлениями переменных фортран легко читать? Давай, жги еще.

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

Если с пробелами - вполне определен

А потом ещё кто-то удивляется, что спутники падают.

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

у Си совершенно хаотичный инопланетный синтаксис, из-за которого самые дерьмовые программы на нём выглядят как заумное «каля-маля»

классический батхерт :)

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

Да-да-да, а программы на BASIC до сих пор пишутся с номерами строк, все сплошь в GOTO и не поддерживают процедурное программирование. Может, вылезете уже из бронепоезда? Он там на запасных путях стоит, похоже, уже лет 30-ть в то время как весь остальной мир идёт вперёд.

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

Ну это вы предпочитаете жрать, что дают и не спрашивать, почему оно похоже на Г. А я не предпочитаю и спрашиваю,я не «принимаю мир таким каков он есть», потому что окружающая реальность не догматична и уж тем более не статична.

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

Может, вылезете уже из бронепоезда? Он там на запасных путях стоит, похоже, уже лет 30-ть в то время как весь остальной мир идёт вперёд.

FORTRAN, на котором написано важнейшие для функционирования оборонного комплекса США ПО

И что - якобы это код не 30 летней давности?

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

Паскаль съел твой моск :) Как раз в С естественно все выглядит, как и должно быть

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

Почему C похож на г., только потому что вы не умеете его читать? Про однострочники на perl, я так понимаю, можно не спрашивать?

Xellos ★★★★★
()

Заглянул в тред ради интереса, привлечённый оксюмороном «современный basic»...

А здесь на трёх страницах срач про С.

Да когда ж вы успокоитесь-то, неоСИляторы?!! Ну не нравится вам С, ну и не лезьте в него, пишите на своём васике. Кто-то заставляет, насильно запихивает в С?

Единственная здравая мысль в ОП:

А вообще программистам следовало бы думать о качестве кода, а не о том, какие инструменты правильные, а какие нет.

Но, увы, и она диссонирует с высказываниями ТСа в треде.

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

Кто забыл тса: Признаки нормальной IT-инфраструктуры

И что???? Ни по одному пункту не отказываюсь от своего мнения, мало того, работаю сейчасв компании, которая минимум на 80% этим требованиям удовлетворяет. Я очень рад, что моё нынешнее руководство тоже терпеть не может подпорок и наколенных самоделок, это знаете ли, гигантский шаг вперёд от человека с палкой-копалкой до уровня добротного enterprise.
А на предыдущем месте работы вместо того, чтобы делом заниматься, так и повышают «доступность инфраструктуры». Ну-ну.

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

Насчёт FreeBASIC мысль была в том, что он умеет не меньше этого вашего Си, при этом у него синтаксис нормальный, выносит мозг лишь местами.

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

Так и запишем - бейсик не умеет в системное программирование.

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