LINUX.ORG.RU

Метапрог-прототип, версия 5

 , ,


1

2

Следующий релиз

Метапрог-прототип, версия 6 + будильник на Метапроге

Скачать:

https://www71.zippyshare.com/v/flBFevsS/file.html

В архив добавлены скомпилированные ехе: теперь прототип Метапрога и Метапрог онлайн можно запустить без LabVIEW, в том числе под линуксом через Wine (скрин: https://ibb.co/0XTVx6F инструкции: Метапрог-прототип, версия 5 (комментарий)).

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

Из нереализованного - схождение данных из двух и более веток условий. Подробнее:

Метапрог-прототип, версия 4 (комментарий)

Условные схождения будут сделаны уже в 6 версии. Скорее всего, это - последняя нереализованная крупная функция прототипа Метапрога. После ее воплощения планирую начать делать раскрутку/бутстрап/«Метапрог сам на себе» с полной отвязкой от LabVIEW.

Запись интерактивной обучалки и создание сишной вставки для стандартной библиотеки Метапрога

https://streamable.com/rgk86

Выход из записи обучалки (под конец, когда происходит ее сохранение на диск) по кнопке Esc.

Кстати, созданная в видео сишная вставка содержит ошибку, исправленную чуть позже.

Предыдущий релиз прототипа:

Метапрог-прототип, версия 4



Последнее исправление: metaprog (всего исправлений: 8)

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

Надо знать команду cp и ее синтаксис.

И что там знать? Всё естественно и просто https://tldr.ostera.io/cp

опять же, мелкие примеры - ерунда, сравнивать надо по крупным задачам

Если простой cp у тебя целая диаграмма, то «крупная задача» (а на самом деле даже несколько строк кода) у тебя уже будет необозримая мега-диаграмма, которую без ста граммов не разберёшь.

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

Баги в самодельных функциях. Опять же, Лабвью не идеально, но дело не в нем. Такая сложная вещь, как самодостаточная визуальная среда программирования с бухты-барахты не делается.

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

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

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

В Лабвью тоже есть все это, в том числе аналог структур (кластер), но не хватает юнионов. Правда с переменными немножко другая история: там всю работу по передаче данных делают проводки и сдвиговые регистры (в циклах - в диаграмме поиска решений уравнения есть два таких).

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

Просто лабвью ничего общего с визуальным программированием не имеет, это не тянет на отдельную дисциплину.

Ты про пейнт или гимп? Я про то что ты пытаешь сделать шаблонизатор Си, где в качестве шаблонов выступают блоки и проводки.

Когда я слышу «визуальное программирование», я понимаю это как метод разработки программ со своим уникальным подходом и инструментарием.

https://i.postimg.cc/zXqfM86K/image.png

Но я вижу это, вместо визуального программирования.
Тебя попросили решение квадратного уравнения, в итоге из этого скриншота я вижу 95% информации которая никакого отношения к решению не имеет.

В итоге получается что решение на си (не более 32 строк) или на питоне (не больше 16 строк) где в обоих случаях для решения достаточно подключение 1 библиотеки, что составляет 1 строку. В твоём примере на фоне решения, которое ещё не понятно работает ли для всех корней, я вижу 95% мусора в виде непонятно чего.

shpinog ★★★★
()
Последнее исправление: shpinog (всего исправлений: 1)
Ответ на: комментарий от metaprog

А комплексные корни оно может найти?

Я посмотрел на это и не черта не понял? Какой алгоритм используется? Школьны метод, метод Ньютон? расскажи на словах.

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

А комплексные корни оно может найти?

Комплексные - нет. Я в матане не силен, хз как они ищутся. Если парабола не пересекает ось х - то решений будет ноль.

Я посмотрел на это и не черта не понял? Какой алгоритм используется? Школьны метод, метод Ньютон? расскажи на словах.

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

Лабвью, опять же, надо тыкать своими руками. К сожалению, скрины лишены интерактивности.

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

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

Его надо ваять с нуля либо на том же лабвью, либо (боже упаси) на текстовых языках. Рано или поздно дойдет и до своего метапроговского компилятора, но на данном этапе Си меня устраивает.

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

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

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

Си кроме низкоуровневости обладает важнейшим преимуществом: огромное множество готовых библиотек. А с нуля ваять «визуальный ассемблер» с кучей библиотек займет десятилетия.

Просто лабвью ничего общего с визуальным программированием не имеет

???!!!

Тебя попросили решение квадратного уравнения, в итоге из этого скриншота я вижу 95% информации которая никакого отношения к решению не имеет.

Императивная логика, конечно, не айс для матана. Думаю уже после раскрутки сделать для этого специальные Маткад-подобные блоки с формулами.

В итоге получается что решение на си (не более 32 строк) или на питоне (не больше 16 строк) где в обоих случаях для решения достаточно подключение 1 библиотеки, что составляет 1 строку

Я не знаю название нужной библиотеки и с ума сойду гуглисть и курить мануалы.

Про неудобство текстовых языков и консольных инструментов я не просто так. Доводилось, например, настраивать RAID на mdadm: удовольствие для мазозхиста. Курить этот длиннючий материал, понимать кое-что с горем пополам, понимать что чуток накосячишь - и пропала инфа на дисках. В гугле в конце концов нашел инструкцию и сделал как в ней, вроде работает. При работе с лабвьюшными библиотеками я к гуглу НИ РАЗУ не обращался - все и без того понятно благодаря интерактивности.

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

И что там знать? Всё естественно и просто https://tldr.ostera.io/cp

Смотри мой комментарий выше про mdadm.

Если простой cp у тебя целая диаграмма, то «крупная задача» (а на самом деле даже несколько строк кода) у тебя уже будет необозримая мега-диаграмма, которую без ста граммов не разберёшь.

Я успешно разбираю и ваяю, в отличие от стен текстового кода.

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

с решением квадратного уравнения

матан

число шагов

точку минимума/максимума и пересечение оси х

Э… Вот это сейчас серьёзно было?

С текстовыми языками экспериментировать можно, но это уже БДСМ

БДСМ — это вот твоё решение квадратного уравнения численными (!) методами при наличии способа из 6 класса в две (!) формулы. Если у тебя к текстовым языкам программирования подход такой же (нагородить сложностей на пустом месте), то ничего удивительного.

Нашлись

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Кстати, я тут подумал, что тред можно было бы прочитать быстрее, будь он написан на metaprog в виде диаграммы

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

в две (!) формулы.

Почему в две, когда в одну? -p/2 +- sqrt(p^2/4-q)

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

Его надо ваять с нуля либо на том же лабвью, либо (боже упаси) на текстовых языках. Рано или поздно дойдет и до своего метапроговского компилятора, но на данном этапе Си меня устраивает.

Проблема в том, что ты не сможешь написать ассемблер на лабвью, как и сишный компилятор. Здесь дело не в твоей криворукости, это просто невозможно принципиально.

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

Почему вся твоя аргументация преимуществ сводится к невнятным критериям?

В чём в итоге задача, сделать «Визуальный Си» или Визуальное программирование ?
Мне кажется очевидным, что это абсолютно разные вещи.

Си кроме низкоуровневости обладает важнейшим преимуществом: огромное множество готовых библиотек. А с нуля ваять «визуальный ассемблер» с кучей библиотек займет десятилетия.

Так собственно почему это невозможно. Во-первых, Си не обладает никакой «низкоуровневою» - это просто уловное разделение, что именно там низкоуровневою, чего нет в том или ином виде в других компилируемых языках?

Для примера hello world на си использует 54 системных вызова, а на асемблере 2(два) системных вызова, собственно в чём «асемблерность» проявляется?

Во-вторых, что ты там собрался писать десятилетия? Компилятор+синтаксический,лексический анализатор и линковщик пишется стундентом за время учёбы 2-4 года.

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

Так дело не в логике, а твоём подходе. Как происходит по нормальному, ты пишешь свой компилятор Си, если он соответствует стандарту, ты берёшь любую либу и она работает в твоём компиляторе.

Что делаешь ты. Визуализруешь Си, и при попытке в свою визуальную лабуду прилепить любую стороннюю библиотеку ты сталкиваешься с тем, что это текстовая библиотека, которая не содержит в себе никакой информации о том как она должна "визуализироваться.
В итоге тебе приходится визуализировать всё, всю логику блоков, как и где какие жгутики что соединяют.

Я не знаю название нужной библиотеки и с ума сойду гуглисть и курить мануалы. Стандартная мат.библиотека в Си и в любом языке.

Доводилось, например, настраивать RAID на mdadm: удовольствие для мазозхиста.. При работе с лабвьюшными библиотеками я к гуглу НИ РАЗУ не обращался - все и без того понятно благодаря интерактивности.

Да, только никто не мешает написать гуй для mdadm и тд. Другой дело написать драйвер на лабвью.

Собственно хоть какой гуй для настройки рейда будет удобней твоих «проводки и блоки» для этих целей, ибо всё так же можно будет не туда проводок сунуть и не ту блок-схему нарисовать и так же потерять все данные.

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

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

Что будет при a=b=c=0

Цепочка из решений в количестве, равном количеству повторений цикла.

a=1, b=-2, c=1

Решение только -1.

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

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

БДСМ — это вот твоё решение квадратного уравнения численными (!) методами при наличии способа из 6 класса в две (!) формулы

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

Если у тебя к текстовым языкам программирования подход такой же (нагородить сложностей на пустом месте), то ничего удивительного.

Вот купил я себе NVME SSD и он работает в линуксе через жопу. А утилита для всякой диагностики nvme - только консольная. Сколько ни читаю мануал - вместо ответов на вопросы вижу только дулю. Даже до кода ядра линукс добрался - красивенько расписаны структуры, вроде что тут сложного https://github.com/torvalds/linux/blob/master/drivers/nvme/target/loop.c но цельная картина из этого ну никак не складывается. Стена текста, об которую разбиваются все надежды заставить сей девайс нормально работать, по крайней мере до момента когда Метапрог будет готов работать с ядрами ОС и драйверами. То вайфай не фурычит, то NVME SSD, то еще что - пофиксить проблемы можно только через черную дыру под названием консоль.

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

Кстати, я тут подумал, что тред можно было бы прочитать быстрее, будь он написан на metaprog в виде диаграммы

Вкратце так:

https://postimg.cc/w1KyfX2c

https://pastebin.com/GaEVsf5k

Русская локализация тоже есть.

metaprog
() автор топика
Последнее исправление: metaprog (всего исправлений: 1)
Ответ на: комментарий от shpinog

Для примера hello world на си использует 54 системных вызова, а на асемблере 2(два) системных вызова, собственно в чём «асемблерность» проявляется?

Могу тебе и на С в 2 вызова написать.

Во-вторых, что ты там собрался писать десятилетия? >Компилятор+синтаксический,лексический анализатор и линковщик пишется стундентом за время учёбы 2-4 года.

Тут важно заметить что это все не будет уступать gcc, и будет поддерживать все платформы.

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

O_O

#!/usr/bin/python
'usage: ./square-solve.py a b c ==> square roots of ax^2+bx+c=0'
import os, sys

if len(sys.argv)!=4: print __doc__; sys.exit()

a, b, c = map(float, sys.argv[1:])
D = b**2-4*a*c
if D<0: print 'nan nan'
else: print (-b-D**.5)/(2*a), (-b+D**.5)/(2*a)

У меня на это ушло ТРИ минуты. Вот метод Ньютона для произвольной функции:

#!/usr/bin/python
'usage: ./newton-solve.py func ==> root of x=func(x)'
import os, sys
from math import *

if len(sys.argv)!=2: print __doc__; sys.exit()

f, x, dx = eval(sys.argv[1]), 0., 1e-6
for i in range(10):
    x -= f(x)*2*dx/(f(x+dx)-f(x-dx))
    print i,':', x, f(x)

Хочу заметить, что без учета строки документации и #!/usr/bin/python у меня символов в тексте МЕНЬШЕ чем у Вас блоков и проводочков (для cp это тоже выполнялось). Судя по всему это общее правило для визуального программирования - именно поэтому оно и не прижилось.

Кстати, функцию, считающую у(х), можно заменить и на другую функцию. Если такую функцию подавать как параметр, это будет называться «лямбда-исчисления»?

Не совсем.

Лабвью я обожаю за то, что тут можно именно играться и экспериментировать.

С текстовыми ЯП тоже можно, особенно с питоном - он дает очень много свободы.

С текстовыми языками экспериментировать можно, но это уже БДСМ, а не детские игрушки.

Нет, БДСМ это городить простыню из блоков и проводочков в течении получаса там где можно за три минуты написать три строки. Если говорить о чуть более сложной задаче на несколько десятков строк, то на создание диаграммы уйдет три дня а для ее разглядывания понадобиться 4К монитор и экранная лупа…

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

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

На сладкое, вывод треугольника Паскаля на питоне:

$ date
Вс янв  5 09:34:47 MSK 2020
$ python
Python 2.7.12 (default, Oct  8 2019, 14:14:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> L=[1]
>>> for i in range(10):
...  L = L[:1]+[a+b for a, b in zip(L[:-1], L[1:])]+L[-1:]
...  print L
... 
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
[1, 8, 28, 56, 70, 56, 28, 8, 1]
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
[1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]
>>> 
$ date
Вс янв  5 09:35:45 MSK 2020

Заняло 58 секунд, 4 строки кода (90 символов). Сколько часов, сотен блоков и проводочков уйдет на это у Вас?

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

Проблема в том, что ты не сможешь написать ассемблер на лабвью, как и сишный компилятор. Здесь дело не в твоей криворукости, это просто невозможно принципиально.

Нихрена подобного. Бинарный файл, генерируемый компилятором - это последовательность байтов. Собрать последовательность из опкодов и данных - пусть и непростая, но вполне себе реальная задача. Я не стал этого делать из-за того, что на Си куча готовых библиотек и системные вызовы юникса/линукса, плюс кроссплатформенность (не прибиваться же гвоздями к х86).

Почему вся твоя аргументация преимуществ сводится к невнятным критериям? В чём в итоге задача, сделать «Визуальный Си» или Визуальное программирование? Мне кажется очевидным, что это абсолютно разные вещи.

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

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

Системные вызовы юникса/линукса, код драйверов и ядер ОС.

Для примера hello world на си использует 54 системных вызова

Это если через printf? Он что, интерпретируется, а не хардкодится при компиляции? Кстати я для печати в консоль использую fwrite, костыльный printf с замороченным форматированием не люблю.

Во-вторых, что ты там собрался писать десятилетия? Компилятор+синтаксический,лексический анализатор и линковщик пишется стундентом за время учёбы 2-4 года.

Еще раз: би-бли-о-те-ки. Которых в Си навалом. Я вот сколь долго выбирал сишную библиотеку для отрисовки гуя - xlib, gtk3, SDL2, nuklear - и это далеко не все что есть по одной лишь графике.

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

В итоге тебе приходится визуализировать всё, всю логику блоков, как и где какие жгутики что соединяют.

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

Да, только никто не мешает написать гуй для mdadm и тд. Другой дело написать драйвер на лабвью... Если визуальное программирование в лабвью такая сказка, где собственно драйверы,ос, и тд на нём?

А ты думаешь почему я взялся за Метапрог?

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

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

metaprog
() автор топика
Последнее исправление: metaprog (всего исправлений: 1)
Ответ на: комментарий от AntonI

У меня на это ушло ТРИ минуты.

#!/usr/bin/env python2
'usage: ./square-solve.py a b c ==> square roots of ax^2+bx+c=0'
import os
import sys

if len(sys.argv) != 4: 
	print __doc__
	sys.exit()

a, b, c = map(float, sys.argv[1:])
D = b ** 2 - 4 * a * c
if D < 0: 
	print 'nan nan'
else: 
	print (-b - D ** 0.5) / (2 * a), (-b + D ** 0.5) / (2 * a)

Ну во первых у тебя тут map используется, что сокращает код относительно той картинки, во вторых ничего сложного для графики тут нету, нужно только добавить наконец то блоки с формулами, что бы не делать все вычисления блоками-операторами. Я уверен выйдет куда нагляднее. И кстати намного быстрее.

Мощно же ты себе цифрами голову забил, если уже даже простого решения для графики не видишь.

insw
()
Последнее исправление: insw (всего исправлений: 3)
Ответ на: комментарий от insw

А что, map нельзя использовать? Если добавить блок с формулой, то это будет ровно тот же текст в обвязке из лабвью. И нафига тогда лабвью?

Быстрее точно не получится, скорость ввода текста с клавиатуры гораздо выше чем скорость мышетыканья. Тоже общеизвестный факт.

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

А что, map нельзя использовать?

Можно, просто ты им сокращаешь сильно код, а ОП его не использует. Глупо сравнивать.

Если добавить блок с формулой, то это будет ровно тот же текст в обвязке из лабвью.

Я про метапрог, в LabView такое наверное не добавишь.

И нафига тогда лабвью?

Потому что вот все эти вычисления удобнее писать текстом, но будет конечно же не простой текст, а по типу того что в libreoffice math.

Быстрее точно не получится

Я про исполнение.

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

Классы, массивы, итд это не про текст.

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

Если добавить блок с формулой, то это будет ровно тот же текст в обвязке из лабвью. И нафига тогда лабвью?

https://community.ptc.com/legacyfs/online/101433_pastedImage_0.png

https://sejnu66972.i.lithium.com/t5/image/serverpage/image-id/8567i7FFCF1D5F0...

Как в Mathcad, нормальная матановая запись формул, а не набивать сложнейшие формулы простым текстом как в питоне. И да, это будет уже в Метапроге.

metaprog
() автор топика
Последнее исправление: metaprog (всего исправлений: 1)
Ответ на: комментарий от metaprog

Это не запись а отображение. А вот для записи (ввода) лучше LaTeX пока ничего не придумано. И это как ни странно текст.

В коде питона формулы пишутся примерно так же как и в маткаде

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от insw

Действительно глупо - мне map нужен что бы кастануть аргументы командной строки к флоту, у ТС такой проблемы вообще нет.

Потому что вот все эти вычисления удобнее писать текстом, но будет конечно же не простой текст, а по типу того что в libreoffice math.

Опять мимо, LaTeX для работы с формулами и создания сложных документов гораздо удобнее чем все эти оффисы.

Я про исполнение.

Я тоже.

Классы, массивы, итд это не про текст

Но и не про графику, это абстракции

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

Действительно глупо - мне map нужен что бы кастануть аргументы командной строки к флоту, у ТС такой проблемы вообще нет.

Ахах, блин, ну я даже не смотрел на код %) Окей.

Опять мимо, LaTeX для работы с формулами и создания сложных документов гораздо удобнее чем все эти оффисы.

MS уже перешел на него?

Я тоже.

Питонокод быстрее С уже?

Но и не про графику, это абстракции

Вот их удобнее представлять в графике.

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

MS уже перешел на него?

Причем тут MS? Абсолютно все серьезные физмат тексты делаются в техе. Офисы сделаны для домохозяек а не для учёных, потому что домохозяек намного больше. И все эти math в офисах - кастрированные варианты теха.

Питонокод быстрее С уже?

Зависит от задачи, но как правило нет. Но в НРС питон тоже используется весьма широко.

Вот их удобнее представлять в графике

Нет.

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

Офисы сделаны для домохозяек а не для учёных, потому что домохозяек намного больше.

Скорее для людей не желающих изучать заклинания текстового техса. Вот и метапрог для людей.

Зависит от задачи

Не знаю что за задачи такие где питон опережает С.

Нет.

Посмотрим.

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

Неудачный у меня сегодня день, а ведь еще во сне убили! И что, там идет переключение между текстом и отображением?

insw
()
Последнее исправление: insw (всего исправлений: 1)
Ответ на: комментарий от insw

Скорее для людей не желающих изучать заклинания текстового техса.

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

Вот и метапрог для людей.

Для домохозяек. С этим никто как раз не спорит, непонятно только зачем домохозяйкам программирование? Если только как хобби…

Не знаю что за задачи такие где питон опережает С.

А что задачи где метапрог по производительности опережает питон?

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

А что задачи где метапрог по производительности опережает питон?

Метапрог транслируется в С, а никаких встроенных по дефолту жрущих вещей нету, ну кроме продвинутых массивов, но я надеюсь их ОП выпилит.

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

Это не запись а отображение. А вот для записи (ввода) лучше LaTeX пока ничего не придумано. И это как ни странно текст.

В коде питона формулы пишутся примерно так же как и в маткаде

Вот так? https://www.youtube.com/watch?v=_rlISmjK9FY

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

Мне бы хотелось глянуть что там за С на выходе, меня терзают смутные сомнения…Так то и питон на С написан, скажем там неплохая длинная целочисленная арифметика и при расчете факториала от больших чисел он не уступает С.

Скорее всего в метапроге как и в питоне собирается AST из полей и методов которые уже там как то крутятся. Вызов функции по указателю на вызове сидит и вызовом погоняет. Тот же питон, только с проволочками.

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

Так гораздо медленнее чем просто текстом написать. Попробуйте наберите так что то сложное…

У человека 10 пальцев, а мышь у компьютера только одна. Скорость набора рядовой машинистки 400 знаков в минуту, такой APM мало у кого из чемпионов мира по старкрафиу бывает - а ведь они активно юзают клаву.

Не, если Вы домохозяйка которая раз в 5 лет набирает одну формулу гуглит как решать квадратное уравнение, тогда это конечно ваш метод. Но с чего Вы решили что это удобно для тех кто с этим работает ежедневно?!

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

Так гораздо медленнее чем просто текстом написать. Попробуйте наберите так что то сложное…

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

У человека 10 пальцев, а мышь у компьютера только одна. Скорость набора рядовой машинистки 400 знаков в минуту, такой APM мало у кого из чемпионов мира по старкрафиу бывает - а ведь они активно юзают клаву.

Ну так хоткеи никто не отменял. И вообще в маткаде скорость ввода не хуже, чем в тексте. Пробовали?

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

Людей, которым важна наглядность, очень много. В идеале было бы чтоб формулы в научнх статьях писались не в латексе (из которого презики делают), а копировались из чего-то маткад-подобного так, чтобы их можно было скопировать из статьи и сразу применить в вычислениях или хотя бы поиграться. А то перенабирать кучи формул крайне неудобно.

Но с чего Вы решили что это удобно для тех кто с этим работает ежедневно?!

Мне самому так удобно.

Кстати, на ЛОРе обычно все на «ты». Почему вы - исключение?:)

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

Мне бы хотелось глянуть что там за С на выходе

Глянь, и потом еще на gcc -S.

Так то и питон на С написан

Как и bash.

Вызов функции по указателю на вызове сидит и вызовом погоняет.

Нет.

Тот же питон, только с проволочками.

Нет.

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

Лол

LabView (комментарий)

хм,ну во многих крупных компаниях и научно-исследовательских институтах как раз labview и используется, неспроста кстати, в тех учериждениях что занимаются космическими разработками,в Цюрихе например им тоже не пренебрегают... насчет скорости - да, а вот насчет того что написать отдельную программу на С++ будет значительно сложнее и дольше - факт! да и придется драйвера самому писать для вебкамеры напрмер какой-нидь или другого утройства.оно впринципе мощная вещь, но сложно че-то понять если мозг настроен на текстовые языки программирования...

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

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

Кря-кря, туалетный утенок.

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

Буквально вчера мы выяснили, что лабвью используется только для конфигурирования воркфлоу научного оборудования, а потом узнали, что даже в ценре, на который ты так отчаянно дрочил, как на храм лабвью, оный лабвью используется КРАЙНЕ ограниченно.

И… Вот ты опять начал рассказывать сказки про засилье лабвью. Эх, врушка ты, врушка.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от metaprog

Мне самому так удобно.

И как много научных текстов с формулами Вы набрали, если Вам приходится гуглить как решается квадратное уравнение?

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

Кстати, на ЛОРе обычно все на «ты». Почему вы - исключение?:)

Не только я. Профдеформация, привык студентам выкать. И потом «неуважение ещё надо заслужить» (с)

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

Да, Вы правы - поциент безнадёжен. Ему так удобнее… Ну что поделать, чем бы дитя не решилось - лишь бы не курило.

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