Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Отличия в разработки WEB-приложений и прикладного ПО. (литература)  (Прочитано 1960 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
В общем, занимаюсь программированием на PHP. Более-менее всё понятно. Основное, по крайней мере...
В последнее время посматриваю на разработку прикладного ПО. Думаю начать с Питона. Тем более, интерпретатор есть, среда разработки то же. Гуй делать так же можно (или нет?) для приложений.
Только вот характер у меня такой, начав изучать Питон, сразу столкнулся с привычкой вебкодера... В общем, не понимаю я принципа работы прикладного ПО...  :-\

Есть ли какая-нибудь литература по этому поводу? Желательно, на простом русском языке во всех смыслах этого слова...
Спасибо! :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
А с какими проблемами столкнулся? Так может проще подсказать будет. Какое именно прикладное ПО подразумевается? GUI или утилиты командной строки?

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
А с какими проблемами столкнулся? Так может проще подсказать будет. Какое именно прикладное ПО подразумевается? GUI или утилиты командной строки?

Проблемы взаимодействия кода с "железом", например.
Откуда берутся данные, как их вывести на определённые устройства.
Ну и процедуры. Например, если в PHP выполняется при запросе весь скрипт, то в том же VB (в школе пытались проходить) выполняется только процедура, вызванная каким-то действием пользователя...
Ориентировано на GUI, так как командная строка... это ещё актуальный "прошлый век". :)

Ну и другое. конечно... Ибо изучать только начал, а... По ходе дела, думаю, вопросы появятся... поэтому и прошу литературу, что бы каждый раз не бегать на форум. ;)
« Последнее редактирование: 26 Октября 2010, 18:07:30 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Онлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Изучай С (++). Питон где-то посередине между ним и пхп. ;)
Извините, я все еще учусь

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Изучай С (++). Питон где-то посередине между ним и пхп. ;)

И всё-таки, Питон легче... именно по-этому и выбрал его.  :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Онлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Питон легче...
"Не гнался бы ты поп за легковизной"  :)
Пока молодой, разберись как работет комп и ОС - а это лучше сделать изучая С (+ асм). После этого с другими языками проблем не будет.
Извините, я все еще учусь

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Проблемы взаимодействия кода с "железом", например.
Откуда берутся данные, как их вывести на определённые устройства.
С каким именно железом? Какие данные? Ты же не драйвер пишешь. Работу с железом эффективно скрывают современные фреймворки и тулкиты. Самому туда нужно лезть только если точно знаешь что и для чего делаешь.

Ну и процедуры. Например, если в PHP выполняется при запросе весь скрипт, то в том же VB (в школе пытались проходить) выполняется только процедура, вызванная каким-то действием пользователя...
В твоём приложении нету запросов. Есть event loop и есть события. Соответственно есть реакция на эти события. Как это реализованно зависит от фреймворка но в конечном счёте всё сводится к вызову какой-нибудь функции.

Ориентировано на GUI, так как командная строка... это ещё актуальный "прошлый век". :)
Толсто. На удалённом сервере администрированием тоже через GUI заниматься будем, забив на отсутствие на оном графической подсистемы как таковой?

Ну и другое. конечно... Ибо изучать только начала... По ходе дела, думаю, вопросы появятся... поэтому и прошу литературу, что бы каждый раз не бегать на форум. ;)
Если хочешьш заниматься GUI опеределись с фреймворком и просто читай литературу по нему. У каждого фреймворка своя идеология и свои способы решать задачи. Причём эти способы очень сильно могут различаться.

Питон легче...
"Не гнался бы ты поп за легковизной"  :)
Пока молодой, разберись как работет комп и ОС - а это лучше сделать изучая С (+ асм). После этого с другими языками проблем не будет.
Присоединяюсь. Абстракции высокоуровневых языков это хорошо, но лучше знать что и как на низком уровне работает, чтобы писать эффективные приложения.
« Последнее редактирование: 26 Октября 2010, 18:50:38 от sanb »

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
"Не гнался бы ты поп за легковизной"  :)
Пока молодой, разберись как работет комп и ОС - а это лучше сделать изучая С (+ асм). После этого с другими языками проблем не будет.

М-м-м-м... я по думаю над этим, однако, вопрос в первом посте остаётся в силе. :)

Пользователь решил продолжить мысль 26 Октября 2010, 18:12:30:
Проблемы взаимодействия кода с "железом", например.
Откуда берутся данные, как их вывести на определённые устройства.
С каким именно железом? Какие данные? Ты же не драйвер пишешь. Работу с железом эффективно скрывают современные фреймворки и тулкиты. Самому туда нужно лезть только если точно знаешь что и для чего делаешь.

Ну и процедуры. Например, если в PHP выполняется при запросе весь скрипт, то в том же VB (в школе пытались проходить) выполняется только процедура, вызванная каким-то действием пользователя...
В твоём приложении нету запросов. Есть event loop и есть события. Соответственно есть реакция на эти события. Как это реализованно зависит от фреймворка но в конечном счёте всё сводится к вызову какой-нибудь функции.

Ориентировано на GUI, так как командная строка... это ещё актуальный "прошлый век". :)
Толсто. На удалённом сервере администрированием тоже через GUI заниматься будем, забив на отсутствие на оном графической подсистемы как таковой?

Ну и другое. конечно... Ибо изучать только начала... По ходе дела, думаю, вопросы появятся... поэтому и прошу литературу, что бы каждый раз не бегать на форум. ;)
Если хочешьш заниматься GUI опеределись с фреймворком и просто читай литературу по нему. У каждого фреймворка своя идеология и свои способы решать задачи. Причём эти способы очень сильно могут различаться.

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

1. Ок. Приму на заметку. :)
2. Так-с... 3/5 слов понял. Спасибо.
3. Вроде, не собираюсь заниматься удалённым администрированием. Пусть этим сис админы занимаются... у них работа такая...
4. М-м-м-м... Ок. Спасибо. Попробую что-нибудь поискать...
5. И Вы туда же...  :D
« Последнее редактирование: 26 Октября 2010, 18:12:30 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Цитировать
2. Так-с... 3/5 слов понял. Спасибо.
Кстати тут с PHP может быть хорошая аналогия. Апач, который обрабатывает входные соединения это как раз и есть твой event-loop в PHP а события это пришедшие HTTP запросы которые мапятся на твои скрипты (либо через явное указание пути до скрипта относительно DocumentRoot либо URL-Rewrite'ом). Собственно в гуи приложении нету апача который уже запущен, а есть event loop который ты сам запускаешь.

Например (осторожно C++  :coolsmiley:):
#include <QtGui/QApplication>
#include <QtGui/QPushButton>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    QPushButton btn("quit");
    QObject::connect(&btn, SIGNAL(clicked()),
                     &app, SLOT(quit()));

    btn.show();

    return app.exec();
}
По аналогии с PHP будет следующее. В первой строкче создаём "апач" в последней его запускам. В промежутке "раскладываем скрипты по местам": есть кнопка если на неё нажать, то будет вызвана следующая реакция.  ;D

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Цитировать
2. Так-с... 3/5 слов понял. Спасибо.
Кстати тут с PHP может быть хорошая аналогия. Апач, который обрабатывает входные соединения это как раз и есть твой event-loop в PHP а события это пришедшие HTTP запросы которые мапятся на твои скрипты (либо через явное указание пути до скрипта относительно DocumentRoot либо URL-Rewrite'ом). Собственно в гуи приложении нету апача который уже запущен, а есть event loop который ты сам запускаешь.

Например (осторожно C++  :coolsmiley:):
#include <QtGui/QApplication>
#include <QtGui/QPushButton>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    QPushButton btn("quit");
    QObject::connect(&btn, SIGNAL(clicked()),
                     &app, SLOT(quit()));

    btn.show();

    return app.exec();
}
По аналогии с PHP будет следующее. В первой строкче создаём "апач" в последней его запускам. В промежутке "раскладываем скрипты по местам": есть кнопка если на неё нажать, то будет вызвана следующая реакция.  ;D

Я так понял, что скрипт - это
под загрузка QT модуля
Создание на рабочей области кнопки

а дальше процедура, которая выполняется при загрузке
при нажатии на кнопку, приложение закрывается.
Всё верно? :)

Хорошо, тогда такой вопрос - для разработки Цэшных приложений есть нормальный гуй или Gedit + /usr/bin/g++ вся среда разработки?
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн maximum2000

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Хорошо, тогда такой вопрос - для разработки Цэшных приложений есть нормальный гуй или Gedit + /usr/bin/g++ вся среда разработки?

QtCreator - рекомендую, если C++ & QT


Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
QtCreator - рекомендую, если C++ & QT

Цитировать
Необходимо скачать 137MБ архивов.

Э-э-э-э.... А ничего по легче нет? Трафик.. 3 ж модем и всё такое... :(
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Онлайн SergeyIT

  • Зануда.
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5743
  • Все по палатам!
    • Просмотр профиля
Я так понял, что скрипт - это...
1.Это не скрипт, а текст программы вызов функций библиотеки QT (который будет компилиться в машинные коды).
   На питоне можно почти так же (только синтаксис другой) - это будет скрипт.
2. Начинать С можно с IDE типа Codelite, а потом можно и на QTCreator перейти или что-то другое и другие языки.
( Объем скачивания большой для QT - там много библиотек)
Извините, я все еще учусь

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Цитировать
Я так понял, что скрипт - это
под загрузка QT модуля
Создание на рабочей области кнопки

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

Цитировать
Э-э-э-э.... А ничего по легче нет? Трафик.. 3 ж модем и всё такое...
Он на самом деле стоит того чтобы его поставить. Если есть где кафешка с халявным WiFi можно сходить попить капучино състь чизкейк пока он стваиться будет ;) Это кончено если на ноут

Оффлайн Кровавый

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
1.Это не скрипт, а текст программы вызов функций библиотеки QT (который будет компилиться в машинные коды).
   На питоне можно почти так же (только синтаксис другой) - это будет скрипт.
2. Начинать С можно с IDE типа Codelite, а потом можно и на QTCreator перейти или что-то другое и другие языки.
( Объем скачивания большой для QT - там много библиотек)

1. Привычка вебкодера  ;D
2. Ок. Пока посижу на Geany. Именно её юзаю для кодинга на PHP/JS/CSS/HTML. :)
Кстати, qtcreater вообще что из себя представляет? Что-то похожее на продукт мелкомягих, там среду разработки Gambas?


Пользователь решил продолжить мысль 26 Октября 2010, 22:33:28:
Он на самом деле стоит того чтобы его поставить. Если есть где кафешка с халявным WiFi можно сходить попить капучино състь чизкейк пока он стваиться будет ;) Это кончено если на ноут

Кафешка то есть, и не одна... вот только далеко... по первой возможности попробую. :)

PS, пойду читать С++ для чайников :D
« Последнее редактирование: 26 Октября 2010, 22:34:08 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.