honey
то есть код джс интерпретируется "движком" (программой, которая что-то делает в зависимости от того, что написано в файлике джс)
Anna Karenina
а как движок написанный на джс будет.. ну.. как он сам-то будет пониматься своим лексическим окружением ?
вижок написанный на (допустим) с++ выполняет движок написанный на джс который выполянет код написанный на джс
Anna Karenina
при этом с++ написан на (вроде) ассемблере, который выполняется системой
Hide
Пипец матрёшка
Anna Karenina
ага
Anna Karenina
смысла в этом никакого, но это реализуемо
honey
то есть, есть низкоуровневые языки, есть язык, который общается с железом, есть язык над ним, в котором уже больше слов и больше абстракций, есть язык и над этим языком, в котором абстракцией ЕЩЁ больше, и там уже под разные вкусы языки?
Anna Karenina
ну а ассемблер это в свою очередь бинарный код (те буквально 0 и 1), которые просто заменены на человеко-читаемый формат (те слова)
Anna Karenina
Александр
Да и сейчас си++ пишется на си++
Александр
Х))))))))
Anna Karenina
так и живем)
Den
Александр
Ну т.е. это как с инструментами) Мы делаем сначала молоток из говна и палок. Потом этим молотком делаем молоток другой но он уже лучше выходит и так далее))) Ну т.е. когда новый язык позволяет делать вещи лучше и круче, То зачем возвращаться к старому?))
Александр
Но это работает нормально только с компилируемыми языками)
Den
Anna Karenina
кароче майнкрафт одним словом
Александр
кароче майнкрафт одним словом
ну да) А когда-то ведь говорили просто "эволюция" Куда мир катится...
VovaDos
Как там Дено в энтерпрайзе, юзают у кого-то в компании? Последний раз бетку щупал 2 года назад
Den
то есть, есть низкоуровневые языки, есть язык, который общается с железом, есть язык над ним, в котором уже больше слов и больше абстракций, есть язык и над этим языком, в котором абстракцией ЕЩЁ больше, и там уже под разные вкусы языки?
Все языки программирования построены на абстракции. Возможно, трудность решаемых задач напрямую зависит от типа и качества абстракции. Под словом «тип» я имею в виду: «Что конкретно мы абстрагируем?» Язык ассемблера есть небольшая абстракция от компьютера, на базе которого он работает. Многие так называемые «командные» языки, созданные вслед за ним (такие,* как Fortran, BASIC и С), представляли собой абстракции следующего уровня. Эти языки обладали значительным преимуществом по сравнению с ассемблером, но их основная абстракция по-прежнему заставляет думать вас о структуре компьютера, а не о решаемой задаче. Программист должен установить связь между моделью машины (в «пространстве решения», которое представляет место, где реализуется решение, — например, компьютер) и моделью задачи, которую и нужно решать (в «пространстве задачи», которое является местом существования задачи — например, прикладной областью). Для установления связи требуются усилия, оторванные от собственно языка программирования; в результате появляются программы, которые трудно писать и тяжело поддерживать. Мало того, это еще создало целую отрасль «методологий программирования».
Den
Альтернативой моделированию машины является моделирование решаемой задачи. Ранние языки, подобные LISP и APL, выбирали особый подход к моделированию окружающего мира («Все задачи решаются списками» или «Алгоритмы решают все» соответственно). PROLOG трактует все проблемы как цепочки решений. Были созданы языки для программирования, основанного на сис¬теме ограничений, и специальные языки, в которых программирование осуществлялось посредством манипуляций с графическими конструкциями (область применения последних оказалась слишком узкой). Каждый из этих подходов хорош в определенной области решаемых задач, но стоит выйти из этой сферы, как использовать их становится затруднительно.
Finira
лежит и думаёт о нём...
Finira
или это мальчик?
Den
Объектный подход делает шаг вперед, предоставляя программисту средства для представления задачи в ее пространстве. Такой подход имеет достаточно общий характер и не накладывает ограничений на тип решаемой проблемы. Элементы пространства задачи и их представления в пространстве решения на¬зываются «объектами». (Вероятно, вам понадобятся и другие объекты, не имеющие аналогов в пространстве задачи.) Идея состоит в том, что программа может адаптироваться к специфике задачи посредством создания новых типов объектов так, что во время чтения кода, решающего задачу, вы одновремен¬но видите слова, ее описывающие. Это более гибкая и мощная абстракция, превосходящая по своим возможностям все, что существовало ранее . Таким образом, ООП позволяет описать задачу в контексте самой задачи, а не в кон¬тексте компьютера, на котором будет исполнено решение. Впрочем, связь с компьютером все же сохранилась. Каждый объект похож на маленький ком¬пьютер; у него есть состояние и операции, которые он позволяет проводить. Такая аналогия неплохо сочетается с внешним миром, который есть «реальность, данная нам в объектах», имеющих характеристики и поведение.
Anna Karenina
если кому интересно интерпретатор брейнфака на джс в браузере, то вот
Den
Некоторые разработчики языков программирования считают, что ООП плохо подходит для решения некоторых задач, и выступают за объединение разных подходов в мультипарадигменных языках программаривования.
Den
Но реальность такова, что универсальный язык, который эффективно решал бы любые задачи, был удобным и понятным для пользователя и давал достаточный уровень абстракции (Не слишком большой и не слишком маленький) - пока что не придумали.
Den
И тут на сцену вышел javascript
Den
VovaDos
там даже мандельброт есть :D
Надо будет фрактал на WebGL замутить
VovaDos
р5 - это кто?
Anna Karenina
это либа для графики которая юзает вебгл
Den
Она)
Ты за кошку не решай, ком она себе определяет)
Anna Karenina
те она буквально дает функции типа "нарисуй линию/точку/круг/итд"
Den
у нас тут 21 век)
Den
Den
Может это кот
VovaDos
Первый раз про такую слышу, знаю онли Three.js / Babylon
Anna Karenina
Первый раз про такую слышу, знаю онли Three.js / Babylon
который babel? оно же не для графики
Anna Karenina
а дерево для 3д
VovaDos
Babylon !== babel
Anna Karenina
ну бабель когда-то назывался так
Anna Karenina
потому и спрашиваю
Anna Karenina
https://p5js.org/
Anna Karenina
у меня на этом добре имеется несколько проектов
Anna Karenina
самый прикольный это ноды, есть еще змейка и сапер
Anna Karenina
если найду, скину
VovaDos
https://p5js.org/
Да какой-то говняный, уже бы лучше ThreeJS заюзать
Anna Karenina
дерево для 3д
Anna Karenina
а это для 2д
VovaDos
Ну если для 2д, то PixiJS
Anna Karenina
а пикси это вроде движок для игр на джс вообще
Anna Karenina
не, ош8ибочка
Anna Karenina
пиксель это движок для игр вроде
Anna Karenina
либо какое-то похожее название
VovaDos
Нет, это такой же инструмент, который дает developer-friendly API для разработки графики в 2D контексте
Anna Karenina
ну вот кароче ноды на этой теме, они еще курсора мышки боятся
Anna Karenina
Anna Karenina
VovaDos
Сейчас же еще WebGPU подогнали. Говорят в разы быстрее WebGL
Александр
VovaDos
Anna Karenina
та да, но саппорта нормального ждать еще долго
Anna Karenina
а жаль
Anna Karenina
есть еще АР для мобильных браузеров, я год назад тыкала, прикольная штука :)
Anna Karenina
там есть демо-проект где можно сажать подсолнухи на поверхности, и вот что интересно, там можно их сажать на вертикальные поверхности, в то время как в юнити и прочем такая возможность только находилась в бета-тесте
Anna Karenina
вот тут уже даже какие-то готовые решения появились, кек https://mywebar.com/
honey
Оооо, у вас и травка:з
Anonymous
ну нафек, js - одна любовь
Anonymous
навсегда