А где есть этот коварный злодей, кроме С и крестов?
Оператор goto имеется в таких языках, как Фортран, Алгол, Кобол, Бейсик, Си и C++, C#, D, Паскаль, Perl, Ада, PHP и многих других. Он присутствует также во всех языках ассемблера (обычно под названием jmp, jump или bra (от англ. branch — ветвь)).
Реактор_познавательный#
Интересный факт: в Java тоже зарезервировано ключевое слово goto, но его нельзя использовать, запрещено синтаксисом.
Мы добавили гото, но использовать его нельзя.
Ты знаешь лучший способ унизить этот оператор?
Не совсем, там есть аналог меток.
Ставишь перед циклом имя_метки: цикл
Затем в цикле continue имя_метки.
Ставишь перед циклом имя_метки: цикл
Затем в цикле continue имя_метки.
label + continue/break не совсем то же самое, что и goto, эта связка реализует только след. итерацию/выход в помеченном лейблом цикле, а goto - безусловный прыжок в другую часть кода.
Юмор в том, что "за кулисами" на низком уровне, когда код откомпилирован всякие for и while заменяются JMP, которые по своей сути GoTo.
и вновь
Реактор_познавательный#
Реактор_познавательный#
Ну ващет да, это именно та вещь, которой можно поджигать пуканы особенным специалистам, которые где-то слышали, что goto использовать нельзя, и приняли это за чистую монету, не разбираясь.
Ну так goto использовать не рекомендуется в языках высокого уровня не по причине какой-то магической сакральности. А потому что при обилии goto код становится труднее для понимания, исправления, дополнения итп итд. А то, что все циклы, условные конструкции и прочее компилируются в конечном счете в различные джампы, так это не имеет отношения к совету.
Это если они совсем-совсем простофили, что даже не знают, чем стек от кучи отличаются, а переменная - от функции.
Компилятор функции инлайнит, циклы анроллит и лишний код выбрасывает; в процессоре вообще одна инструкция может на несколько расколоться. Но это не повод для бугурта тех, кто пишет сильно абстрактный код. И морального права пихать весь код в main без причины это никому не даёт.
Компилятор функции инлайнит, циклы анроллит и лишний код выбрасывает; в процессоре вообще одна инструкция может на несколько расколоться. Но это не повод для бугурта тех, кто пишет сильно абстрактный код. И морального права пихать весь код в main без причины это никому не даёт.
Но самому использовать гото настолько опасно, что лучше доверять компилятору.
Javascript, php, C#
В конечном итоге все циклы превращаются в машинный код с джампами(аналог goto)
Да и не только циклы.
На самом деле это зависит от того, поддерживает ли железо аппаратные циклы. В некоторых чипах это есть и там компилятор может развернуть for в соответствующую инструкцию.
нет такой инструкции ни на x86 ни на ARM
разве что компилятор раздует цикл если число итераций константа
это всегда goto\jump\branch\fork или его варианты с условиями
иначе цикл реализовать просто нельзя
разве что компилятор раздует цикл если число итераций константа
это всегда goto\jump\branch\fork или его варианты с условиями
иначе цикл реализовать просто нельзя
Правда нельзя, совсем никак?) Инструкции do, dofor тут: http://multicore.ru/mc/data_sheets/Manual_DELcore-30M_App1_031210.pdf.
О люд програмисцкий, взываю о помощи к вам. Уже взывал как-то разок, но по итогу оказалось не то. Нужно для меня говнокодера иметь возможность на яваскрипте писать приложения под винду. Встречал инфу, что многие проги так и пишутся, типа берешь окно браузера, а в нем уже все вояешь, разметку, обработку. Когда спросил первый раз, мне посоветовали *.hta заюзать. Заюзал, написал себе что требуется, но дальше оказалось, что на него ругаются антивирусы (просто по умолчанию) и предложить кому-то такой продукт сложно. Поэтому хочу еще раз спросить, как подобное провернуть? У меня друг немного пишет на делфе, есть ли возможность запилив там браузерное окошко, наладить с ним какую-то связь, менять файлы, командовать sqlit-ом и т.п.? Друг мне на это ответить не смог.
electron
Круто, похоже это то что надо. Невероятнейшее тебе спасибо.
Причем когда с hta маялся, кучу раз искал что-то похожее, и так и так гуглил, и на электрон ну ни разу не наткнулся. А тут раз и то что надо.
Почитал, посмотрел, все относительно понятно, кроме господи того, чтобы просто стартануть. Я настолько нубас похоже, что эта мудрость мне не подвластна. Установил Node.js и собственно все. Везде говорят и показывают - открываем терминал. Какой терминал? Запустил node, в черный экран вбиваю всякое, все мимо, похоже не то совсем. Не подскажешь плиз в двух словах в какую сторону копать?
Причем когда с hta маялся, кучу раз искал что-то похожее, и так и так гуглил, и на электрон ну ни разу не наткнулся. А тут раз и то что надо.
Почитал, посмотрел, все относительно понятно, кроме господи того, чтобы просто стартануть. Я настолько нубас похоже, что эта мудрость мне не подвластна. Установил Node.js и собственно все. Везде говорят и показывают - открываем терминал. Какой терминал? Запустил node, в черный экран вбиваю всякое, все мимо, похоже не то совсем. Не подскажешь плиз в двух словах в какую сторону копать?
Вроде бы что-то зашевелилось.
Похоже надо было запускать не Node.js, а Node.js command prompt.
Еще раз спасибо. Будем покурить дальше.
Похоже надо было запускать не Node.js, а Node.js command prompt.
Еще раз спасибо. Будем покурить дальше.
Если windows 10, то желательно подружиться с Windows Subsystem for Linux (наверное так, хз че там на виндах сейчас). Это сильно упростит работу
>Везде говорят и показывают - открываем терминал. Какой терминал? Запустил node, в черный экран вбиваю всякое, все мимо, похоже не то совсем.
primary platform для web-разработки - linux/macos, там таких вопросов не возникает
на форточках это, вестимо, cmd.exe / powershell
primary platform для web-разработки - linux/macos, там таких вопросов не возникает
на форточках это, вестимо, cmd.exe / powershell
PWA
Спасибо, но нужно, чтобы по итогу был типа ехешник.
В чем проблема разобраться в синтаксисе делфи? Или другой среды. Учебников, уроков и инфы просто бездна.
Зачем, когда куча времени уже потрачена на хытымылы со всеми вытекающими, и нет необходимости запускать корабли в космос, а максимум написать пару складских программ вместо какого-то ломанного говна производства 90х годов.
К тому же тяжеловато вот так вот хоп и перепрыгнуть на другой язык, и думать на нем, ориентироваться, а не гулять по граблям. Мне тут по работе возможно предстоит питон юзать скоро. Крещусь. Понятно, что все типа то же самое, но ниахотаа.
На счет бездны инфы я бы посомневался. И товарищ делфист делился и я сталкивался, когда пытался на ней что-то своять. Инфы мало и она старая. Видимо в виду, что яваскрипт - инет-язык, то и сайтов по нему в разы больше и сообщество активнее.и красивее они гораздо
К тому же тяжеловато вот так вот хоп и перепрыгнуть на другой язык, и думать на нем, ориентироваться, а не гулять по граблям. Мне тут по работе возможно предстоит питон юзать скоро. Крещусь. Понятно, что все типа то же самое, но ниахотаа.
На счет бездны инфы я бы посомневался. И товарищ делфист делился и я сталкивался, когда пытался на ней что-то своять. Инфы мало и она старая. Видимо в виду, что яваскрипт - инет-язык, то и сайтов по нему в разы больше и сообщество активнее.
>написать пару складских программ
но тогда действительно лучше сделать простую страничку, которая будет открываться в браузере и отдаваться с сервера.
проще разработка и поддержка - не нужно искать спеца со знанием электрона или кордовы
проще доставка обновлений - нужно обновить только приложение на сервере
проще обеспечить отказоустойчивость - у сервера есть бэкапы и резервное питание
выше безопасность - на конечной машине не будет исходников кода с, возможно, конфеденциальными данными типа пароля от БД
но тогда действительно лучше сделать простую страничку, которая будет открываться в браузере и отдаваться с сервера.
проще разработка и поддержка - не нужно искать спеца со знанием электрона или кордовы
проще доставка обновлений - нужно обновить только приложение на сервере
проще обеспечить отказоустойчивость - у сервера есть бэкапы и резервное питание
выше безопасность - на конечной машине не будет исходников кода с, возможно, конфеденциальными данными типа пароля от БД
Есть необходимое условие - работоспособность в оффлайн.
>>написать пару складских программ вместо какого-то ломанного говна производства 90х годов
Ох, с твоим-то подходом к обучению я представляю, что ты понаписываешь
Ох, с твоим-то подходом к обучению я представляю, что ты понаписываешь
Ты заглянул бы в базы этих программ и язык проглотил ;)
Я гуру по сравнению с теми кто это ваял, хоть и жопошный говнокодер.
Я гуру по сравнению с теми кто это ваял, хоть и жопошный говнокодер.
Electron
NW.js
Apache Cordova
UWP/JavaScript
тысячи их
NW.js
Apache Cordova
UWP/JavaScript
тысячи их
Спасибо. Вот странно, говорил выше, что усиленно искал подобное раньше и хер что нашел, а теперь оказывается, что тысячи их. Пичалька все это. Ну и ладно, главное, теперь есть от чего плясать.
Вчера по итогу с этого видео получилось повторить все что там есть, хоть и не сразу, но все-таки это уже немного обнадеживает. Единственное, странно, зачем делать меню и дополнительные окна, если все то же самое можно легче и привычнее делать уже в этом браузере?
Вчера по итогу с этого видео получилось повторить все что там есть, хоть и не сразу, но все-таки это уже немного обнадеживает. Единственное, странно, зачем делать меню и дополнительные окна, если все то же самое можно легче и привычнее делать уже в этом браузере?
Чтобы написать коммент, необходимо залогиниться