16:58

この世界は。。。いいですか?
Попробовал написать простейшее приложение под Android не на Qt, а с помощью "родных" средств разработки. Опыт в программировании у меня имеется, и под винду, и под Linux, так что ничего особо сложного я не ожидал.

Вот например, Delphi, Builder, или там Visual Basic, или даже какой-нибудь, прости господи, Lazarus. Наваял я интерфейс, положил на форму кнопочку. Дважды кликаю по кнопочке - оказываюсь в редакторе кода и мне остаётся только прописать нужный функционал. Вся инфраструктура - класс, описывающий интерфейс приложения, сгенерирован средой, функция On_My_Button_clicked() уже описана. Это удобно, так принято во всех средах, так и должно быть.
Или, например, QtCreator. Там немного иначе: щёлкаю по кнопочке правой кнопкой мыши, выбираю "перейти к слоту", выбираю нужный слот. В *.h - файле тут же добавляется объявление метода, в *.cpp - скелет его реализации, сигналы со слотами автоматически соединяются, и мне опять же остаётся только прописать функциональность. Чуть более гибко, чуть менее удобно, но в общем-то тоже очень хорошо.

Ну так вот.

Поставил я Eclipse, настроил, все дела... Вроде кое-что получилось, маленькая программка написалась (даром что на Java, которой я отродясь знать не знаю), но пришёл я в недоумение.
Поставил IntelliJ Idea, тоже настроил, тоже все дела, тоже всё получилось и заработало, однако недоумение стало ещё больше.
Поставил NetbBeans.... ДА ВАШУ Ж МАТЬ!

Какого чёрта я должен создавать классы и методы для всех элементов управления вручную?!! И, вашу мать - у меня уже просто цензурных слов не остаётся - какого рожна я должен вручную создавать экземпляры этих классов и ручками назначать каждому из них реализующие действия функции?!

Или, может, я чего-то не догоняю, и как-то можно это делать по-нормальному? А?

Комментарии
22.09.2012 в 16:03

Это удобно, так принято во всех средах, так и должно быть.

Кхе! Вместо всякого билдера, делфи и прочих сред "кое-как, но работает", начинать надо было вам с Win32API и потом через MFC. Вот тут-то вы бы и познакомились с ручным созданием и карты сообщений, и функцией обработки событий и прочим, и прочим (нет, ну есть, конечно, в Visual Studio мастер, но он такое код делает, что лучше уж без него). Думаете, анахронизм? А вот нет. Сиё действо очень дисциплинирует и помогает к проекту и коду очень тщательно подходить. И заодно понимание происходящего в системе обеспечивает - тут кое-как писать с рабочим результатом затруднительно.
23.09.2012 в 01:51

この世界は。。。いいですか?
Гость, о да, давайте писать всё на ассемблере. Или не, ассемблер - отстой, даже машинные коды - отстой, давайте будем вручную пробивать дырочки на перфокартах.

Только пока мы будем этим заниматься, другие в нормально работающей среде разработки напишут нормально работающий софт и снимут все сливки с рынка.
23.09.2012 в 05:49

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

Не напишут. Все эти "хочу чтобы почти всё автоматом делалось" (а почти все современные программисты начинали именно с таких сред) профессионализму не способствуют - в этом их порочность. В результате имеем, что подход "тяп-ляп и готово" закрепляется и становится стилем программирования (иначе, с чего бы вас так нервировала необходимость писать самому весь код? Этот код связки, к слову, меньше 1% занимает в более-менее интересной программе), и на выходе нас ждёт либо плохо работающая программа с монструозными размерами, либо вообще ничего хоть как-то работающего.

о да, давайте писать всё на ассемблере.

Я как раз так и делал лет 15 назад.

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

И ручным ассемблированием тоже я занимался. Но вот с перфокартами не надо путать - это лишь средство представления информации, а вовсе не язык программирования.
23.09.2012 в 10:24

この世界は。。。いいですか?
>>>Этот код связки, к слову, меньше 1% занимает в более-менее интересной программе

Да. Но когда его приходится писать самому через такую задницу, как это реализовано на Java под Андроид, то голова пухнет и отвлекается от главного - от алгоритма работы программы. Программист больше утомляется и совершает больше ошибок.
А между тем, такие мелкие, служебные вещи не должны отвлекать программиста. Если что-то может быть автоматизировано - оно должно быть автоматизировано.

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

Ну, благо Qt нынче есть и под Андроид - портируем наш проект на нём.