Обновить
19
0
Вячеслав Stac Мацнев@Stac

Пользователь

Отправить сообщение
Не виноват никто. Тогда, видимо, не было других вариантов: там, где могла работать LISP-машина, она работала.
Память была дорогая и ее было мало. Бейсик позволял урезать свой транслятор и запускать его на слабом железе.

С параллельными вычислениями все это слабо связано, как любительские радиостанции с системами обнаружения космических объектов. Это я к тому, что Бейсик был рассчитан на широкие массы энтузиастов, а не теоретиков компьютерной науки.
Другая аудитория, другие задачи.
FYI:
Все знают, что Бейсик до сих пор можно использовать на платформах Майкрософт (VBA для Office, VB.NET, VBScript, SmallBasic), а также то, что есть масса интерпретаторов и компиляторов под все основные платформы.

Вот еще несколько современных сфер применения:

— микроконтроллеры Basic Stamp от Parallax (пример starter kit)
— одноплатный микрокомпьютер Maximite (пост на Хабре)
— сервер веб-приложений RunBasic
— средство автоматизации Windows GUI — AutoIt
— среда разработки для Android — Basic4Andriod
— среда разработки для iOS/Android — NSBasic
— одноплатные компьютеры, работающие под DOS — JK Micro (сайт старый, не понятно, жив ли производитель)

Наверняка кто-то знает еще интересные проекты, использующие Бейсик в наши дни.

Кстати, истинный Бейсик от Кемени и Куртца сейчас тут — TrueBasic для Windows. (Я сам тру-бейсик не смотрел, другие его особо не хвалят, сайт же вызывает лишь грусть.)

Распространенная ошибка.

Создатели языка еще в 1985 году написали «оправдательную» книгу об истории создания и развития языка — www.amazon.com/Back-BASIC-History-Corruption-Language/dp/0201134330

Язык проектировадся грамотно создателями, но, вот, портировался на кучи 8-битных машинок, где он и получил наибольшее распространение, кем придется и как придется с учетом слабых аппаратных возможностей железа. Вся критика, однако, была исключительно в адрес создателей языка.


Старый анекдот:
— Так мне Паваротти не понравился, картавит, в ноты не попадает…
— Вы были на концерте Паваротти?
— Нет, мне Рабинович по телефону напел.
Возможно, но мое время — нет :)
С другой стороны память лишней не бывает. Почему бы и не поставить 8Гб модуль хотя бы в старшую модель.
BT нужен… это тоже упущение, что его нет.
Сейчас все смартфоны его имеют, много акустических систем (мой случай), плюс клавиатуры всякие с мышами.
У меня 7-ка работает на ноуте похожей конфигурации (AMD E-350).
Память добавить можно туда? 8Гб чуть приятнее.
Windows как работает? Ставили?
Как быть с Bluetooth? Не заметил его в спецификации.
А я бы взял на тестирование в Москве. Заманчиво.
… будет к маю…


Вот это очень важно, что есть какие-то перспективы.
Стоит читать топик, если у меня нет VS 2013?

На самом деле, мне интересно, как писать под Win8 в «моем любимом редакторе».

Есть где-то простая и понятная инструкция (без лишних деталей) по сборке приложений?
Да, этот подход (через саппорт) мне знаком. Можно использовать иногда для внутренних пользователей.
Реестр содержит семантически связанные и (в норме) однотипные объекты.

Справедливо.

связать два модуля через хорошо известный обоим контракт,

В общем модулей сильно больше двух. И каждый из них связан только со $STATE. $STATE не обязан быть массивом. В более сложных случаях это будет объект с кастомными сеттерами/геттерами.

Глобальная область видимости — это плохо. Это плохо именно потому, что у вас нарушается принцип единой ответственности.

Нарушать этот принцип вовсе не обязательно. Глобальная область это просто верхний уровень. Погружение внутрь хорошо для библиотек и т.п., но для основной программы это, по моему, лишнее.
Первая запись подразумевает фиксированный набор хорошо известных свойств, вторая — изменяемый словарь.


В .Net возможно, но не в PHP.

<?php
class TheClass
{
    public $ownProperty;
    public function getProp(){
        echo "Не существующее свойство: " . $this->property . "<br>";
    }
}

$obj = new TheClass();
$obj->property = "Существует.";
$obj->getProp(); // Не существующее свойство: Существует.
от такие мелочи и отличают паттерн

Хорошо бы вы указали на эти мелочи, пока они остаются загадкой.

совершенно не понятно, зачем примененное, и от этого очень опасное

Этим грешат и паттерны, когда они не понятны.

В моем случае я тоже использую паттерн, только он вам не известен.
Использование $STATE направлено на снижение связности модулей программы и инкапсуляции их поведения и свойств.
В примере это можно заметить (убрав шоры с глаз) по отсутствию параметров у функций.
Когда изменится имплементация той или иной функции, ее сигнатура не изменится.
Каждая функция берет нужные ей входные данные в реестре и может помещать туда промежуточные данные или результат.

Применяется паттерн только в главное программе или в контроллере (при использовании MVC).

Кроме того, такой подход позволяет описывать главную программу (контроллер) декларативно. Из примера этого не видно, впрочем

(а) В фреймворках часто можно встретить объект $app. Оттого, что я назвал его $STATE не делает его «кривым». В этой переменной хранится состояние приложения. Информация связана — вся она относится к приложению.
(б) Чем, по-вашему, "$obj->property" остроконечников лучше чем "$obj[«property»] тупоконечников?
Мне просто нравится такой синтаксис. Но можно заменить тип $STATE с array на StdClass и обращаться к его свойствам, используя объектную нотацию.

(ц), (д) — тут прошу поподробнее. Чувствую ценность в вашем комментарии, но нужно больше деталей.
Я пока иду по второму пути.
но совершенно не понимают когда и какой использовать.


Что комментарии, в общем-то, и подтверждают.
Посылать к поисковикам плохо еще и потому (и это мое личное мнение), что в нашу дискуссию, обмен мнениями, привлекается мнение каких-то посторонних личностей. И ладно, если это признанные авторитеты, но зачастую это не так.
Вы же понимаете, что когда вы меня ругаете: «криво», «ошибка», было бы полезно пояснить в чем именно кривизна…. Я-то этого не вижу, иначе бы так не сделал.

Либо же нет никакой кривизны, просто вы не понимаете мой код.

Надеюсь и мне поможет. Уже посмотрел 38 слайдов. Для демонстрации Dependancy Injection выбран хороший пример — класс «Пользователь» и хранение состояния в сессии.

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность