2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3  След.
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 14:53 
rockclimber в сообщении #1024341 писал(а):
В принципе, современные фреймворки уже давно (лет 20 как) позволяют программировать "мышкой". Вы не пишете код, а просто мышкой тыкаете на форме - тут будет кнопка, тут - поле для ввода, и т. д. На первое время и этого достаточно, конечно, но лучше все-таки получить представление о том, как все это реализовано изнутри.


Таким образом можно создать только интерфейс программы - т.е. кнопки, таблицы, меню, поля ввода, чекбоксы и т.д. Это действительно модно сделать одной мышкой. Но чтобы программа работала, чтобы по нажатию кнопки она что-то делала - тут уже код придётся писать самому.

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

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

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 15:24 
Alexu007 в сообщении #1024385 писал(а):
Таким образом можно создать только интерфейс программы - т.е. кнопки, таблицы, меню, поля ввода, чекбоксы и т.д. Это действительно модно сделать одной мышкой. Но чтобы программа работала, чтобы по нажатию кнопки она что-то делала - тут уже код придётся писать самому.
Это зависит от того, как считать. Если программировать чисто голыми вызовами WinAPI, без фреймворков, то в простейшей программе для сравнения двух файлов большая часть усилий уйдет именно на написание кода окна и обработку типовых действий пользователя, а само по себе сравнение будет составлять 5 - 10% кода.

(А если бы у рыбы была шерсть...)

А если нужно сделать простенький клиент БД, то на Delphi, например, код можно вообще почти не писать, но сделать таки работающее приложение.

Alexu007 в сообщении #1024385 писал(а):
И даже - о ужас!!! - объектно-ориентированное програмирование с его классами, наследованием и т.п. знать необязательно. Можно пользоваться теми объектами и классами, что предоставляет среда программирования - и заставлять их работать с помощью старых добрых функций.
Если программирование - это хобби, то можно и не знать. А если профессия, то есть риск голодной смерти.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 15:38 
Руководствуясь своими тараканами, я бы не советовал C++ как первый язык. А если нужна Qt, можно пользоваться ей из Python и многих других языков, для которых написаны binding’и.

-- Вс июн 07, 2015 17:39:30 --

Насколько я знаю, Qt Creator — языконезависимая штука, имеющая дело только с интерфейсом.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 15:53 
arseniiv в сообщении #1024412 писал(а):
Руководствуясь своими тараканами, я бы не советовал C++ как первый язык.


+100, это так и есть.
Хотя всё еще даже сложнее между самими концепция консоли и GUI.
Но тем не менее я бы современным бейсиком назвал бы Delphi (из компилируемых!).
А С++... Наверное Qt как самое из кросс-кросс крайне выпячивается, но опять таки проблем куча.
P.S.
А так вообще самое формошлёпное из тех что я щупал - C#.
Но там всё таки не компиляция, но для изучения очень порядочная штука.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 16:13 
aa_dav в сообщении #1024417 писал(а):
Но там всё таки не компиляция
Если бы вопрос о компиляции вообще стоял в этой теме! Но, кстати, в .NET компиляция есть — просто JIT-компиляция при запуске.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 16:34 
arseniiv в сообщении #1024412 писал(а):
Руководствуясь своими тараканами, я бы не советовал C++ как первый язык. А если нужна Qt, можно пользоваться ей из Python и многих других языков, для которых написаны binding’и.

Погуглите вакансии С++, Qt C++ и сравните с другими предлагаемыми вам языками - может это поможет выбрать первый язык для изучения.

А в чём проблема собственно, чем С++ плох как первый язык? Чем он хуже других?

Цитата:
Насколько я знаю, Qt Creator — языконезависимая штука, имеющая дело только с интерфейсом.

Сам Qt написан на языке С++ и "заточен" под С++. То есть после установки по умолчанию язык будет С++. Но допускает использование других языков, как это реализуется на практике, я не знаю.

-- Вс июн 07, 2015 17:43:14 --

arseniiv в сообщении #1024437 писал(а):
aa_dav в сообщении #1024417 писал(а):
Но там всё таки не компиляция
Если бы вопрос о компиляции вообще стоял в этой теме! Но, кстати, в .NET компиляция есть — просто JIT-компиляция при запуске.

Не компилируемые программы работают медленно. Нафига начинать обучение с будущих тормозов? Да ещё и работающих только под Windows и только с установленной .NET?

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение07.06.2015, 17:07 
Alexu007 в сообщении #1024449 писал(а):
А в чём проблема собственно, чем С++ плох как первый язык? Чем он хуже других?
Не будем начинать в этой теме. Столько копий уже сломано, и если вы не в курсе аргументации обеих сторон, то вам тогда не стоит и советовать C++.

Alexu007 в сообщении #1024449 писал(а):
Сам Qt написан на языке С++ и "заточен" под С++.
Библиотека заточена, ага. Вы ещё скажите, что Windows заточен под C.

Alexu007 в сообщении #1024449 писал(а):
Но допускает использование других языков, как это реализуется на практике, я не знаю.
Реализуется так, что многие языки позволяют довольно безболезненно общаться с динамическими библиотеками (в Windows это DLL), что здесь и происходит.

-- Вс июн 07, 2015 19:09:40 --

Alexu007 в сообщении #1024449 писал(а):
Не компилируемые программы работают медленно.
ТС компиляцию не упоминал, и если её в дискурс и вносить, то лучше грамотно с деталями, а не оценочными суждениями.

Alexu007 в сообщении #1024449 писал(а):
Да ещё и работающих только под Windows и только с установленной .NET?
Я понимаю, что Mono не успевает сейчас за .NET, но всё же она существует.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение09.06.2015, 19:46 
arseniiv в [url=http://dxdy.ru/post1024468.html#p1024468]
[quote="Alexu007 в сообщении #1024449
писал(а):
Сам Qt написан на языке С++ и "заточен" под С++.
Библиотека заточена, ага. Вы ещё скажите, что Windows заточен под C.[/quote][/quote]

Используется синтаксис C++
int A = 2;
int B = 3;
int Sum = A + B;

ui->label->setText(QString::number(Sum));
 


Первые 3 строчки это Си, 4-я - это Qt-шный вывод цифры на экран. Как это будет выглядеть на другом языке?

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение09.06.2015, 23:05 
Если вам нужна конкретика, у меня её нет. Почитайте, например, документацию по PyQt.

-- Ср июн 10, 2015 01:07:33 --

Кстати,
Alexu007 в сообщении #1025357 писал(а):
Первые 3 строчки это Си, 4-я - это Qt-шный вывод цифры на экран.
вы так написали, как будто четвёртая уже внезапно не C++. Неудачный выбор формы выржения.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 02:06 
Аватара пользователя
arseniiv в сообщении #1024016 писал(а):
Тут придётся front-end ещё сильнее обобщать, и получится нехилая иерархия интерфейсов для back-end’ов. В JPEG ведь похожесть совсем по-другому выражается даже просто из-за того что это представление изображения, а не текста.

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

полагаю речь шла о побайтовом сравнении файлов :mrgreen: , максимум текстовых (с точки зрения отображения результата) :D

предполагать что человек не написавший ни одной программы сразу захочет заняться программным сравнением jpeg файлов нонсенс :facepalm:

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 02:17 
itmanager85 в сообщении #1025930 писал(а):
полагаю речь шла о побайтовом сравнении файлов :mrgreen: , максимум текстовых (с точки зрения отображения результата) :D

предполагать что человек не написавший ни одной программы сразу захочет заняться программным сравнением jpeg файлов нонсенс :facepalm:
Тем не менее, посмотрите на реакцию на скриншот сравнивалки MP3 от Alexu007:
Dmitro12345 в сообщении #1024303 писал(а):
Красиво!!!! Правда красиво. Ну да, хочу что-то в этом роде.

И после этого, пожалуйста, читайте темы, в которые отвечаете, аккуратнее. Предлагалось много всего, в том числе и «от простого к сложному».

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 02:40 
Аватара пользователя
arseniiv в сообщении #1025936 писал(а):
И после этого, пожалуйста, читайте темы, в которые отвечаете, аккуратнее. Предлагалось много всего, в том числе и «от простого к сложному».

ага, как отдекадируете jpeg файл, свисните :mrgreen: :facepalm:

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 03:23 

(Ну всё, феерия — тему затопим, да обязательно напишем бессмысленный ответ.)

Откуда свисать? И почему именно мне выпала честь делать с файлом неизвестное науке декадирование?

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 03:34 
Аватара пользователя
arseniiv

(Оффтоп)

готов поспорить паясничать у вас получается намного лучше , чем декодировать jpeg :lol:

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 03:57 

(Оффтоп)

Вы сначала объясните, кому я обещал декодировать JPEG и по какому поводу. А потом ещё объясните, как я должен догадаться, что декадировать — это именно декодировать, а не, скажем, декадрировать. Не моя проблема, что вы опечатались. OK, свистните я ещё распознал — но и это, вообще-то, не обязан был. Вы с самого начала вкладывались только в коммуникативный провал, и то, что я вообще вам что-то пишу уже второе сообщение — весьма странно, и больше я продолжать здесь вам отвечать не стану.

По теме же вы ничего нового, в отличие от каждого из остальных участников, не сказали. Что как бы намекает.

 
 
 [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group