LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 6

 , , ,


2

3

FAQ

0. Где отсутствующие примеры и пункты FAQ? Как вообще читать эти темы?

Чего нет в этой части - есть в прошлых. Для того, чтобы понять идею Метарпога, не обязательно читать тысячи комментариев из всех тем. Необходимый минимум собран в заголовках тем. Читайте заголовки и ссылки в них. Кстати, обновляется только заголовок последней темы, если эта тема уже не последняя - она не обновляется. В более новых темах пункты FAQ могут обновляться и в случае расхождения действительна более новая версия.

10. Примеры выдают варнинги при компиляции (у кое-кого еще и сегфолтятся)

Это из-за того, что парсер инклюдов разворачивает всё (в том числе структуры и указатели) до примитивных типов. Если версия гтк отличается от моей - возможны отличия в анатомии структур и сегфолты из-за этого. Эта проблема будет решена, но позже.

11. Как выглядит факториал в графическом представлении?

Metaprog: универсальная графическая среда программирования [в разработке] (комментарий)

(пока что на Лабвью)

Примеры

Находятся в прошлых темах. Компилировать исходники нужно так:

gcc ./test.c -o ./test $(pkg-config --cflags --libs gtk+-3.0)

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Metaprog: универсальная графическая среда программирования [в разработке] часть 4

Metaprog: универсальная графическая среда программирования [в разработке] часть 5

Прототип чата:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Показывалка языка локализации через seltocale (кстати, у кого что показывает?)

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)

Прототип чата с прокруткой:

Metaprog: универсальная графическая среда программирования [в разработке] часть 6 (комментарий)



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

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

в консоле TAB таб работает. И путь я там наберу сильно быстрее, чем натыкаю его мышой в гуйовом фм.

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

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

как на учитель по информатике говорил «комп это не училка русского языка которая будет с тобой спорить». но вообще можно конечно сделать что бы комп понимал и cat и concatenate. только развитие ЯП как раз показывает что чем строже относится компилятор к коду тем быстрее идёт разработка потому что программист не тратит время на сегфолты из за глупых опечаток.

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

И путь я там наберу сильно быстрее, чем натыкаю его мышой в гуйовом фм.

Это если знать путь заранее и ни на буковку не ошибиться при наборе. А если не знать?

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

Машина и должна быть бездумным исполнителем. Но с бездумным исполнителем лучше общаться через набор кнопок и прочих элементов фиксированной обратной связи.

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

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

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

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

7. 5 скоростей, задняя, нейтралка. Этому проще всего учиться, тыкая передачи с инструктором. Где ты видел, чтобы пользоваться коробкой передач учили по книге?

А теперь представь каждый раз когда надо на дороге переключить передачу сидеть с клавой и писать transmission.setSpeed(1), transmission.setSpeed(2). И еще steetingWheel.steer(20), steetingWheel.steer(-10) итд вместо крутить баранку. Именно так я вижу текстовое программирование и консольный интерфейс.

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

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

А в консоли как ты ищешь путь? Занимаешься камасутрой с ls?

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

Какой путь? Для чего путь? Свои пути я все знаю. Я даже знаю все пути на своих билд-серверах и прочей обвязке. Знаю все пути своих женкинсов и их артефактов. А если мне нужно что-то конкретное найти, то есть grep, есть find, которые я так же быстрее наберу, чем натыкаю поиск в гуйовом фм.

А вот когда тебе дадут директорию с 100500 тысячами файлов, что ты будешь делать? мотать все мышой, выискивая нужную директорию? Как ты узнаешь, что она нужная?

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

Владимир

Хотел немножко покритиковать вас, но передумал.
Не порть настроение Владимир другому человеку /не отбирай у него его радость/.

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

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

Автомобиль - это девайс с графическим интерфейсом. Руль, передачи (и автоматические, и ручные), педали, спидометры итп - все же графичекий интерфейс!

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

А вот когда тебе дадут директорию с 100500 тысячами файлов, что ты будешь делать? мотать все мышой, выискивая нужную директорию? Как ты узнаешь, что она нужная?

Какая задача? Просто что-то найти? Есть графические тулзы для поиска.

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

Вот сохранил ты эту страницу с ЛОРа себе на хард - как ты ее откроешь через консоль? Все название будешь вводить ручками?

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

Какая задача?

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

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

Если что-то посложнее банального поиска - могу натыкать в Лабвью прогу для работы с теми файлами.

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

комп имеет слишком много вариантов состояния что бы можно было с ним «общаться через набор кнопок и прочих элементов фиксированной обратной связи» в общем случае. по этой причине все гуи всегда ограничены только теми ф-циями которые задумал разработчик. такой свободы действий как консольные команды они не дадут никогда. мы ошибочно пытаемся сравнить программирование с управлением транспортом где вариантов действий не так уж и много. если бы комп мог исключительно поворачивать направо налево ускоряться и тормозить спора нет. для кассирши пробивающей продукты конечно быстрее если будет на кассе гуй а не вводить консольные команды «add to check <num> <product_name>». но программирование это совсем другое.

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

зачем мне сохранять эту страницу? зачем мне потом что-то набирать чтоб ее открыть? Но по опыту скажу, что я сливал сайтик один локально и делал из него pdf пандоком. Сделать электронную книгу из сотни html Да, эта задача в консоле решилась сильно быстрее и качественнее.

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

у меня проект был надо было внести автоматом дохерища данных в БД проприетарной системы без исходников. структура БД запутана была дальше некуда туева куча таблиц безо всякой документации. я просто включал postgres log, добавлял через гуй и смотрел этот лог. так вот эти логи многомегабайтные ни один гуевый редактор не мог взять всё висло кроме vimа, а grepом я моментально выделил оттуда то что меня интересовало INSERT, UPDATE, DELETE.

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

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

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

Вот сохранил ты эту страницу с ЛОРа себе на хард - как ты ее откроешь через консоль? Все название будешь вводить ручками?

вот я настолько привык к консоли что когда сохраняю что нибудь из браузера (картинки типа) меня так напрягает тыкать по гую что бы выбрать куда сохранить. типа я бы в консоли по быстрому набрал ~/pics/computers/ с tabом вобще моментально а сраный браузерный диалог на сохранение всегда как назло открывается в какой то жопе из которой ещё до ~ тыкать и тыкать. в итоге беру просто копирую ссылку и в консоль `wget <url>`.

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

Вот сохранил ты эту страницу с ЛОРа себе на хард - как ты ее откроешь через консоль? Все название будешь вводить ручками?

вот сохранил ты тыщу страниц и с каждой нужно произвести какое то действие к примеру преобразовать в pdf. в гуе ты тыщу раз будешь открывать и жать Menu -> Save As -> Pdf. а в консоли циклом можно всё обработать моментально если преобразовалка принимает input_file / output_file в консольных аргументах. может автор гуя конечно предусмотрел что нибудь типа Batch Conversion. но вот опять же предположим юзеры заливают регулярно файлы в какой то каталог и ты можешь автоматизировать их преобразование cronом а так тебе придётся гуй открывать мануально каждый раз. короче говоря для автоматизации какой то задачи гуй точно не подходит.

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

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

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

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

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

Поэтому консоль должна быть в дополнение к GUI, что бы типовые операции выполнялись быстро, а *необычные* можно было наскриптовать...

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

Ну С структуры все равно не обработать таким образом. Ну а по остальному вопросы нужно конкретнее.

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

Хаха, отличный пример с коробкой передач. Берём (прости, господи) делфи и тащим с панели на форму label, а потом смотрим на то, что нужно сделать в твоей срани, чтобы вывести label. Выходит, делфи на порядок лучше метапрога. И это уже было 25 лет назад и успело устареть.

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

я вобщем то никогда и не отвергал гуй абсолютно (как это делал тут некий радикально настроенный юзер вроде saahriktu или как то так который даже отвергал utf8 в текстовой консоли). но всё же интерфейс будущего это не гуй и не консоль, обе устарели. интерфейс будущего это голосовое общение пользователя с машинами которые способны понять его запросы сформулированные в свободной форме на человеческом языке.

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

Выходит, делфи на порядок лучше метапрога. И это уже было 25 лет назад и успело устареть.

не успело, наш препод с первого курса до сих пор на нём пишет. по крайней мере точно писал в прошлом году. и защитил кандидатскую наваяв формочек в нём которые показывают данные из БД.

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

как это делал тут некий радикально настроенный юзер вроде saahriktu или как то так который даже отвергал utf8 в текстовой консоли

Он же просто говорил что ему это нинужно, теперь он уже сидит на Mageia с utf8 и gui.

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

Тогда нужен будет ИИ который будет постоянно находится с человеком, иначе он просто не поймет его, тут то гугл со своими БД и втиснется, уж надеюсь я смогу в то время юзать обычные компьютеры!

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

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

struct {
  void **data;
  int *data_types;
  size_t len;
};

где data_types хранит константы указывающие на тип каждой соответствующей entry в data. хотелось бы так же что бы они автоматически меняли размер т.к. графический программист явно не очень умён раз не смог осилить текстовое программирование а значит нельзя ему доверять манипулировать памятью указателями, здраствуй сегфолты или того хуже.

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

тут то гугл со своими БД и втиснется, уж надеюсь я смогу в то время юзать обычные компьютеры!

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

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

В нашем Аальто тоже делфи все еще есть. И даже у нас был. Самое смешное, что даже вакансии на него видел в Финляндии.

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

тут то гугл со своими БД и втиснется, уж надеюсь я смогу в то время юзать обычные компьютеры!

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

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

Тогда нужен будет ИИ который будет постоянно находится с человеком, иначе он просто не поймет его

а у тебя сейчас в кармане разве не оно находится? от гугла.

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

почему на их машинах так трудно передачи включаются

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

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

вот сохранил ты тыщу страниц и с каждой нужно произвести какое то действие к примеру преобразовать в pdf

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

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

ближе к выходу на пенсию

Через 100 лет? Ведь пока тебе станет 60 (или сколько сейчас в рашке) пенсионный возраст еще черти сколько раз поднимут.

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

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

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

«Необычные» можно накидать в Метапроге, как я в Лабвью накидал тебе пример на поиск файлов.

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

Голосовое общение слишком медленное (даже между людьми) и не у всех будет получаться хорошо. Скорее будут нейроинтерфейсы.

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

Надеюсь вместо гугла мы к тому времени запилим что-то получше.

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

так машина современная это бездумный исполнитель и не может додумывать / разгадывать смысл твоих опечаток потому что ей нужна точность

Так сейчас и пилят голосовые интерфейсы и прочее, где уже закладывается неточное общение. Другое дело, что это всё-таки для простых юзеров, для программистов никто ещё не додумался.

вот у нас на экзамене в гаи одна тупая дура 3 раза вместо 3 скорости 1 включала

не его же машина))))

Шо, это прямо было на той же машине, на которой она с инструктором ездила, или ты чего-то не договариваешь?

Я сдавал экзамен по городу на машине гаишника, не инструктора. И после пятёрки на самаре было непривычно, в том числе и коробка передач. Но это было 12 лет назад. Правила проведения экзаменов поменялись?

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

Будут структуры условного выбора типа и можно будет делать массивы из них.

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

Выходит, делфи на порядок лучше метапрога.

Для программирования UI — однозначно лучше, и я ТСу про это уже намекал в прошлой теме. Но он же хочет ещё и логику в графику оборачивать.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.