Консультация № 189042
31.03.2016, 07:43
0.00 руб.
0 11 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Здравствуйте, эксперты.

В связи с правительственным постановлением о срочном переходе
с закрытого Windows на открытый Unix.
Вопрос.
Я программирую в Borland C++ Builder 6.0 по книге Архангельского.
(Windows XP + dbf 3.0 + word XP + clipper 5.0+ бухгалтерия+экономика)

Хотелось бы получить практические советы с чего начать программировать в другой операционке, конкретно Unix.
1. Разновидность Unix (Lunix и т.д.) в плане эффективности, доступности для
инструмента типа Builder.
2. Какой инструмент - Builder или есть еще подобные по простоте и эффективности. Если Builder, то какой; какой версии (последней типа 2006),если
другой, то какой версии, хотя не думаю, что есть продукты дружелюбней
Borland.
3. Если есть наработки исходников в Unix, то можно ссылки в учебном плане
для понимания: базы данных в бухгалтерии или поисковые системы или студенческие работы или примеры- инструментария типа Builder т.е.
чтобы реально стартануть и дальше развиваться в этом продукте.
Раньше пытался начинать работать на Microsoft C и на Борланд С.
Понял, что писать драйвера я не буду и Microsoft C не осилил не для меня, зато Борланд С, пошел на ура. И в последствии, что турбобэйсики и клипперы, интербэйсы,MS Sql пошли, а майкрософтовские акцессы, бэйсики, си, старые базы
данных типа оракол, борланд ассемблер со скрипом.
Как-то так - с уклоном в базы данных.
Спасибо.

Обсуждение

давно
Старший Модератор
17042
808
31.03.2016, 11:31
общий
это ответ
Здравствуйте, galviktor!

Цитата: galviktor
Хотелось бы получить практические советы с чего начать программировать в другой операционке, конкретно Unix.


1. Выбрать операционную систему. Если Вы хотите что-то максимально дружественное пользователю, то это Linux.
2. Выбрать дистрибутив. В отличие от Windows, дистрибутивов (вариантов сборки - комплектации - поставки) Linux великое множество. Я рекомендовал бы *Ubuntu: для новичков, по-моему, лучший выбор.
3. Выбрать графическую среду (окружение рабочего стола). Мой выбор - KDE, так что если решились на *Ubuntu, то установите Kubuntu.
4. Выбрать разрядность системы. 32-разрядные несколько более устойчивы. В отличие от Windows, в Linux 32-разрядные приложения не запускаются в 64-разрядной среде без шаманских трюков.
5. Проверить наличие в системе компилятора. Для Linux обычный выбор - это g++ (входит в набор средств разработки gcc). Проверить его наличие можно командой:

[code lang=shell]g++ --version[/code]

Если увидите результат вроде этого:



то компилятор установлен. В противном случае установите его командой (для *Ubuntu):

[code lang=shell]sudo apt-get install g++[/code]

Цитата: galviktor
Какой инструмент - Builder или есть еще подобные по простоте и эффективности


Я полагаю, что под "инструментами, подобными Builder", Вы подразумеваете возможность визуального проектирования графического интерфейса пользователя.
В Linux (в том числе и в Kubuntu) достаточно много инструментов (SDK), отвечающих этому запросу. Перечислим некоторые из них.

Qt / Qt Creator

Qt - это наиболее известная и развитая C++ библиотека для создания кроссплатформенных графических приложений для Linux, Windows, MacOS X, а также ряда Unix систем. Огромный пласт приложений для Linux и ряда других Unix систем написан с её помощью, в том числе графическое окружение рабочего стола KDE.
Под *Ubuntu Qt можно установить командой:

[code lang=shell]sudo apt-get install qtcreator qt4-dev-tools[/code]

Ранее Qt, помимо библиотеки классов, включал три инструмента:

  • Qt Designer - собственно инструмент визуального проектирования графического интерфейса пользователя;
  • Qt Linguist - инструмент локализации приложений;
  • Qt Assistant - инструмент для предоставления интерактивной документации.


Впоследствии эти три инструмента были объединены в IDE Qt Creator.
Вышеприведённая команда установит все перечисленные инструменты.
Внешний вид Qt Designer:



В результате работы Qt Designer можно сгенерировать C++ код, который потом вставить в проект.
Проект Qt Creator включает как C++ код, так и UI-формы, написанные на XML подобном языке:



Это очень напоминает C++ Builder, проекты которого включают управляющий C++ код и проектируемые формы, с кодом на Delphi.
UI-формы проектируются в визуальном редакторе Qt Creator так же, как и в C++ Builder:



Пример внешнего вида программы, использующей Qt (моя игра "Пятнашки"):





JUCE / Introjucer

JUCE - C++ библиотека, первоначально созданная для написания MIDI секвенсера Traction. Поэтому основное назначение JUCE - это создание кроссплатформенных мультимедийных приложений для обработки и воспроизведения звука для Linux, Windows и MacOS X.
Помимо этого, включает значительное число классов для создания графического интерфейса пользователя. JUCE использует собственные виджеты (компоненты) для создания графических приложений, за счёт чего достигается попиксельная идентичность интерфейса программ для разных операционных систем.
IDE JUCE, Introjucer, включает в себя инструмент визуального проектирования графического интерфейса пользователя:



Достоинством Introjucer является то, что для проектируемой формы генерируется именно C++ код, который можно посмотреть без сохранения на жёсткий диск:



Пример программы, созданной с помощью JUCE (моя игра "Виселица"):





Lazarus

Если для Вас не принципиален язык разработки, то можно рекомендовать среду Lazarus, которая является OpenSource версией Delphi и использует Free Pascal. Не считая языка разработки, в остальном - полная копия C++ Builder:



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

Цитата: galviktor
можно ссылки в учебном плане для понимания


Qt: Макс Шлее. Qt 5.3. Профессиональное программирование на C++
JUCE: Martin Robinson. Getting started with JUCE

На русском языке по JUCE, увы, ничего нет, а мой лекционный курс, устарел (посвящён версии 2.0, в то время как актуальная версия - 4.0). Но в этом году планирую выпустить книгу по этой библиотеке.
5
Спасибо, буду прорабатывать полученный материал.<br>
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Руководитель
1
1524
31.03.2016, 11:52
общий
Адресаты:
Браво!
Об авторе:
Если не знаешь, что делать - делай шаг вперед.

давно
Академик
20764
1861
31.03.2016, 12:47
общий
Свежий обзор лучших IDE для Linux - на английском.

Сам я много лет использую KDevelop, но своё мнение никому не навязываю.
давно
Старший Модератор
17042
808
31.03.2016, 12:57
общий
Адресаты:
Ну... KDevelop из KDE 4.x совсем не то, что KDevelop из KDE 3.x. В худшую сторону, ИМХО. Но дело не в этом. Товарищ спрашивал не про IDE (тут на вкус и цвет все фломастеры разные), а про что-то похожее на Builder. Чтоб кнопочки по форме можно было таскать...
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Посетитель
400134
4
31.03.2016, 13:11
общий
Спасибо, за ответы на неудобные вопросы.
За ответами стоит большой труд программиста.
среду Lazarus буду смотреть. Делфи не проблема.
Правительство говорит полгода на переход Unix,
а я наверно не смогу так быстро освоить.

Простите за навязчивость.
А с какими таблицами данных работает(программирует) продукт типа Lazarus:
Для хранения данных типа ФИО -добавление, изменение,удаление строк ФИО.
Вывод их в виде карточки ФИО и обратно в список ФИО:
1. Простые самописные таблицы.
2. Локальные базы данных типа Клиппер или dbf 2.0 как в Builder.
3. Клиент-сервер базы, как в Builder InterBase.
4. Клиент-сервер базы MS SQL, как в 1С.
5. Типа Oracle, что не хотелось бы.
Есть встроенные, какие из них в продукт типа Lazurus.
Еще раз извините за непростые вопросы.
давно
Старший Модератор
17042
808
31.03.2016, 13:15
общий
Адресаты:
Вам сюда...
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Посетитель
400134
4
31.03.2016, 13:55
общий
Все. Спасибо определился над чем работать Lazarus и его базы данных.
1.Lunix Lubuntu Kubuntu Lazarus.
2. Базы данных может mysql. Мне казалось она не самая мощная да и для инета.
3. postgresql мне кажется из старых в новые базы. Не хочется.
4. FireBird не плохая нравится она мне, воще мое мнение msSql не заслуженно
задавил ее. Сейчас такие устройства большой емкости уже firebird уже поддерживает и
коллектив разработчиков не плохой у них, конечно не поспевают за последними наработками
InterBase, ну на вырост, в крайняк можно большие таблицы разбить на несколько.
Вот напугали с 64 разрядными приложениями, не хочется возиться с 32 разрядными,
только для конвертации 32р. из Windows в Lunix. Или даже оставить их там дешевле будет.
Начинать надо с 64р. приложений по любому. Думаю 128р. не скоро будет. Процесс пошел
в распараллеливание процессов, а не в разрядность.
Танцы с бубнами 64 разряда в Lunix как то имеет решение в будущем или как в оракол
настолько старая разработка и тянет все за собой, что легче выпустить новый продукт оракол.
Да видно настолько дорого поддерживать и старые базы и новые, что дешевле просто
поддерживать старые форматы и потихоньку улучшать оракол.
Отдельное спасибо за литературу Шлее, Робинсон, если еще написана как у Архангельского
то ей цены нет. Такие книги не стареют. Не важно какая версия.
KDevelop из KDE 4.x совсем не то, что KDevelop из KDE 3.x. В худшую сторону. Буду разбираться.
В общем работы хватает.
Последний вопрос у 64 разрядных приложений в Lunix есть будущее по решению проблем
танцев с бубнами.
Спасибо всем.
давно
Академик
20764
1861
31.03.2016, 14:03
общий
Адресаты:
будущего нет у 32-разрядных версий. Ставьте сразу 64-битную систему. Потом переезжать будет непросто.
давно
Посетитель
400134
4
31.03.2016, 14:06
общий
Спасибо.
давно
Посетитель
400134
4
01.04.2016, 07:03
общий
P.S
Здравствуйте, эксперты.

Воще, я истинный фанат Windows и его приложений. С уважением относящийся к Lunix.
Это отличный заработок на хлеб и масло. Это отличное ремесло.
Но сейчас мне обидно, что программирование в Windows перестало быть искусством.
В один прекрасный день я проснулся и понял, что Windows и Lunix умерли.
Сказать, что я был в шоке это не сказать ничего. Я до сих пор в глубоком нокдауне.
Оказалось купленная мной за 1500 рублей дешевенькая мегафоновская бюджетная планшетка
с интернетом 3G и операционкой Андроид внучкой Unix. Послала меня в нокдаун, где я
до сих пор нахожусь. После этого у меня пропало всякое желание творить в Windows,
только ремесло. Ведь написать на си программки для технологии типа Андроида или
даже саму операционку типа Андроид это не проблема, а какие возможности открываются, даже дух
захватывает, я даже боюсь писать об этом (управление миром людей это минимум).
Сейчас уже есть 5G интернет. Я не мог даже мыслей допустить, что Windows умрет.
Что это отрицание отрицания -дедушка Unix, папа Windows, внучек Android.
После этого я реально осознал, что на моем веку может прийти такая технология,
что не знаю радоваться ли (искусственный интеллект) или плакать (полный контроль
над человеком вплоть до уничтожения по нажатию кнопки.) Спасибо.Тему закрываю.
До свидания.
давно
Старший Модератор
17042
808
01.04.2016, 07:07
общий
Адресаты:
Стоп, стоп! Как модератор, вынужден вмешаться: здесь идёт обсуждение по Вашему вопросу. На общие темы пишите здесь.
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
Форма ответа