Знания о которых пишите Вы можно приобрести на курсах программистов
Где эти курсы студенту взять между линалом с матаном и курсом по СПО? Вот они условно в конце июня сдели экзамены по 4му семестру, в 5ом с 1 сентября будет СПО. И что?
В чем важность 1998 года, а не 1993? Язык кардинально поменялся?
Язык не поменялся, хотя поддержка стандарта компиляторами да изменилась. Речь шла о затратах на кроссплатформную графическую оболочку в контексте как раз 93го года.
Вот Вы свою с нуля написали или использовали таки какую то библиотеку. На каких платформах она у Вас работала? Что могла делать?
Вы: Даже не можете ответить даже какие конкретно сложности Вы видите.
Сложностей нет говорите, ну значит Вы умный, а я дурак. Вот например сколько времени у Вас ушло чисто на графику, кнопки прорисовать, меню. Как Вы кроссплатформенно ловили клики мышки?
Это мерзко и пошло РР. Опять на оскорбления скатываетесь без всякого повода.
Если человек не мог на каникулах заниматься по семейным обстоятельствам, мало ли, работать пришлось чтобы помочь семье. На какие еще курсы куда посылать, за чей счет и когда? Фантазируете не по делу.
Я и сам выучил С++ за пару недель по вечерам. На втором курсе на картошке. Но я не считаю тех кто не смог или не захотел макаками. Этот снобизм мерзок.
Сложностей нет говорите, ну значит Вы умный, а я дурак.
Заметьте, не я это сказал PP wrote:
Вот например сколько времени у Вас ушло чисто на графику, кнопки прорисовать, меню.
Месяца два где-то на вечерней загрузке. Но надо учесть, что меня никто не учил в вузе. В наше время вершиной был фортран.
++ я себе сам выбрал, чтобы произвести впечатление демо-графикой на ученый совет
И произвел. Программа сама не была самоцелью ессно. У меня был теоретический вопрос.
Для первого захода нужно определить абстракными лишь небольшое количество примитивов - пиксель, линия, fill...
плюс events от платформы. Эти интерфейсы и юзаются аппликухой. Для каждой новой платформы делается своя имплементация.
Меню же (кнопки) использует эти примитивы и уже платформенно-независимы.
Ничего сложного. Аппликуха при этом не меняется. PP wrote:
Как Вы кроссплатформенно ловили клики мышки?
См. Выше.
Для ДОСа интерфейсная функция юзающая прерывания INT33, for example
Для винды свои events и. д.
Собссно все либы и идут таким путем. Только добавляется анимация( ессно я не делал) и протчая хрень, которая с годами только плодится
P.S. Я потом смотрел код GTK и решил, что у меня было лучше
Для первого захода нужно определить абстракными лишь небольшое количество примитивов - пиксель, линия, fill...
плюс events от платформы.
Эти интерфейсы и юзаются аппликухой. Для каждой новой платформы делается своя имплементация.
Имплементацию на платформах отличных от винды надо полагать Вы оставили для чернорабочих? Или таки выкатили хотя бы на винде и одной из версий юникса? Их в 1993ем кстати было много разных (IRIX, AIX, Linux, Solaris, HPUX,...), и всюду бы Вам пришлось бы имплементировать, как ловить нажатие мышки, как ловить если надо что то перерисовать, итд. Именно на это я и указывал, как на трудность. Не было у С++ никаких графических библиотек тогда, абстрагирующих взаимодествие с железом и ОС.Vladimirovich wrote:
P.S. Я потом смотрел код GTK и решил, что у меня было лучше
Ну Вы крутой программист значит. Надо было заопенсорсить свой проект. Что собственно Ваш опыт показывает? Vladimirovich wrote:
надо учесть, что меня никто не учил в вузе
А показывает он мою правоту, что при желании умный человек мог сам спокойно и достаточно быстро освоить язык и написать на нем нетривиальную аппликацию. Я, чтобы выучить ООП, написал классы параллельных вычислений на матрицах. Чтобы с потоками разобраться, написал игровой сервер в морской бой. Это заняло не так уж много времени, по вечерам, в свободное время. Поэтому тратить учебный процесс на обучение студентов конкретному языку есть потеря времени, и в долговременной перспективе пользы от этого ноль.
Однако системному программисту и C++ надо было знать обязательно. Даже если сам возможностями ООП не пользуешься, библиотеки сколько-нибудь свежие все уже на принципах ООП построены. Понимать как что работает нужно.
универы просто не могут позволить себе готовить хороших ПТУшников программеров, потому что это потребовало бы много времени и реальных, а не учебных/игрушечных проектов ; программер должен знать очень много разного (структуры и базы данных, массу типичных и часто встречающихся алгоритмов для эффективной по времени и ресурсам обработки, несколько языков и пр.), чтобы мог удачно прикинуть как стуктурировать большую задачу от заказчика, архитектурные решения требуют большого опыта, широких знаний и интуиции, АТО позднее придётся всё переделывать, когда окажется, что производительность и время ответа не удовлетворяют
программер должен знать очень много разного (структуры и базы данных, массу типичных и часто встречающихся алгоритмов для эффективной по времени и ресурсам обработки, несколько языков и пр.),
Это все условно, нас тоже обзывали "технический университет" тогда, при этом все это дали в определенном объеме. Были курсы "алгоритмы и структуры данных", "системы управления базами данных", "системное программное обеспечение", "системы искусственного интелекта", по криптографии семестр был (название не помню) и еще несколько спец. курсов. Из языков в процессе спец курсов дали фортран, паскаль, c/c++, лисп, пролог, sql, ассемблер 8086 - 7 языков по факту в разном объеме.
Классику ясное дело должен знать любой computer scientist
И инженер тоже, кстати ООП на базе с++ всем давали довольно поверхностно и самые основы, ликбез. Но был факультативный мини- курс по ООП непосредственно, я на него записался, вот там очень неплохо рассказали не только про концепции но и как их применять, шаблоны проектирования, как разделять приложение на функциональные слои, для чего, как изолировать логику от GUI, от работы с БД, основы dependency injection, то до чего ув. Vladimirovich сам дошел, нам это рассказывали как best practices. Правда курс был небольшой всего 5-6 лекций.
универы просто не могут позволить себе готовить хороших ПТУшников программеров, потому что это потребовало бы много времени и реальных, а не учебных/игрушечных проектов ; программер должен знать очень много разного (структуры и базы данных, массу типичных и часто встречающихся алгоритмов для эффективной по времени и ресурсам обработки, несколько языков и пр.), чтобы мог удачно прикинуть как стуктурировать большую задачу от заказчика, архитектурные решения требуют большого опыта, широких знаний и интуиции, АТО позднее придётся всё переделывать, когда окажется, что производительность и время ответа не удовлетворяют
Имплементацию на платформах отличных от винды надо полагать Вы оставили для чернорабочих? Или таки выкатили хотя бы на винде и одной из версий юникса? Их в 1993ем кстати было много разных (IRIX, AIX, Linux, Solaris, HPUX,...), и всюду бы Вам пришлось бы имплементировать, как ловить нажатие мышки, как ловить если надо что то перерисовать, итд.
Достаточно создать архитектуру.
"Остальное доделают немцы (с) Бутлеров
PP wrote:
Именно на это я и указывал, как на трудность.
Лопатой махать - трудность? Полноте. Зачем тратить время на то, что сейчас не нужно...
Не было у С++ никаких графических библиотек тогда, абстрагирующих взаимодествие с железом и ОС
Риторический вопрос - и чё?
Хто их должен написать то? Пушкин?
Что Вас там беспокоит? Мышь? Там три функции надо, ну форму курсора менять чуть посложнее
Память? Файлы? Уже в комплекте RTL.
Клава?
Графика? Это несколько граф. примитивов, как я уже сказал. Это если не выпендриваться.
Понятно, что если использовать все аппаратные возможности видеокарты, прикрутить 3D анимацию и пр... получится какой-нибудь монстр типа OpenGL, который годами надо делать.
Но ведь мы не об этом.
А если ограничиться тогда x86 архитектурой, то вообще можно через память напрямую все писать и забить на ось. CGA да VGA. Больше и не было ничего.
Подумаешь, бином Ньютона.
Что еще Вам надо для полного счастья?
Мне так вот только времени (6400 руб, как Балаганову)
Zinc Interface library была, сначала в начале 90х был только досовский и виндовый вариант потом и под другие платформы появился www.openzinc.com/Downloads.html
По-моему, фортран и паскаль вообще можно выкинуть - человек быстро их освоит, если припрет - а лисп и пролог отправить в глубокий факультатив
Нам не разжевывали естественно месяцами эти языки, давали основы и материалы для самостоятельного изучения. Лисп был необходим для машинной графики, автокад использовал лисп как внутренний язык для автоматизации, пролог для курса по ИИ.