Параўнальны аналіз сродкаў кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015)

Материал из 0x1.tv

Аннотация[править | править вики-текст]

Докладчик
Григорій Злобін.jpg
Григорій Злобін

The article provides a comparative analysis of crossplatform programming tools.

Crossplatform programming tools are divided into three groups:

  • crossplatform compiled languages,
  • crossplatform programming languages at the execution level
  • crossplatform interpreters.

To substantiate the analysis results, the index of popularity of programming languages ​​TIOBE is used.

Видео[править | править вики-текст]

on youtube

Слайды[править | править вики-текст]

Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf Параўнальні аналіз сродкау кросплатформеннага праграмавання (Григорий Злобин, LVEE-2015).pdf

Тезисы[править | править вики-текст]

Кросплатформеннасць – гэта здольнасць праграмнага забеспячэння працаваць больш чым на адной платформе або аперацыйнай сістэме. Кросплатформннасць праграмнага забеспячэння набыла асаблівае значэнне пасля завяршэння эры практычна непадзельнага панавання платформы Wintel (x86 працэсар + Microsoft Windows). Як вынікае з[1] колькасць працоўных месцаў з не-Wintel платформай у 2012 перавысіла 65% і працягвае павялічвацца. Гэта зрабіла эканамічна прывабным кросплатформеннага праграмавання ў галіне распрацоўкі прыкладнога праграмнага забеспячэння.

Мовы праграмавання, якія можна выкарыстоўваць для кросплатформеннай распрацоўкі праграм, дзеляцца на тры групы:

  • кросплатформавыя мовы праграмавання на ўзроўні кампіляцыі – для гэтых моў існуюць кампілятары для розных платформаў (C, C++, Pascal, Fortran, Ада і г.д.);
  • кросплатформавыя мовы на ўзроўні выканання (Java і C#) – вынікам працы кампілятара ў гэтых мовах ёсць байт-код, які можна запускаць на розных платформах з дапамогай віртуальных машын (Java VM для Java і CLR для C#);
  • кросплатформавыя інтэрпрэтатары – для гэтых моў з’яўляецца інтэрпрэтатары (PHP, Perl, Python, Tcl, Ruby і т.д.) для розных платформаў.

Разгледзім кароткія характарыстыкі кросплатформавых моў праграмавання на ўзроўні кампіляцыі:

Табліца 1.
Інструментальная абалонка Падтрымліваюцца кампілятары/колькасць моў праграмавання Падтрымліваюцца АС/іх колькасць
Qt Creator GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW/8 Linux, OS X, Windows, Unix, iOS, Android, Blackberry 10, WinRT, Embedded Linux, QNX/10
Eclipse C/С++, Fortran/3 AIX, FreeBSD, HP-UX, Linux, Mac OS X, OpenSolaris, Solaris, QNX, Microsoft Windows, Android (AR)/10
Free Pascal Free Pascal Compiler, Object Pascal, частково GNU Pascal, ISO Extended Pascal/4 MS DOS, FreeBSD, Linux, Mac OS X, Microsoft Windows, Sun Solaris, Haiku/7
Lazarus Free Pascal Compiler/1 Linux, FreeBSD, Mac OS X, Microsoft Windows, Android/5
Code::Blocks MinGW, GCC C/C++, GNU ARM GCC, GNU AVR GCC, GNU GCC Compiler for PowerPC, Digital Mars C/C++, Digital Mars D, SDCC, Microsoft Visual C++, Borland C++, Watcom, Intel C++, GNU Fortran, GNU ARM, GNU GDC/15 Windows, Linux, Mac OS X, Unix/4
NetBeans IDE C, C++, Ада/3 Windows, Linux, FreeBSD, Solaris /4
Embarcadero RAD Studio XE7 Delphi, С, C++/3 Windows, Mac OS X, iOS, Android/4

У табліцы 2 прадстаўлены кароткія характарыстыкі кросплатформавых моў на ўзроўні выканання:

Табліца 2. *нататка праз вялікую колькасць інструментальных сродкаў для Java іх пералік няпоўны
Інструментальная абалонка Падтрымліваюцца кампілятары/коль-касць моў прагра-мавання Падтрымліваюцца АС/іх колькасць
Eclipse* Java AIX, FreeBSD, HP-UX, Linux, Mac OS X, OpenSolaris, Solaris, QNX, Microsoft Windows, Android (ARM)/10
NetBeans IDE* Java Windows, Linux, FreeBSD, Solaris/4
IntelliJ IDEA* Java Linux, Mac OS X, Windows/3
AIDE* Java Android
Microsoft Visual Studio Code C#, Java/2 Linux, Mac OS X/2
.NET Core 5 C# Linux, Mac OS X/2
Mono C# Linux, MacOS/2

У табліцы 3 прадстаўлены кароткія характарыстыкі кросплатформавых інтэрпрэтатараў. У табліцы 3 прадстаўленыя кароткія характарыстыкі кросплатформавых інтэрпрэтатараў:

Табліца 3.
Інструментальная абаолонка Падтрымліваюцца кампілятары/колькасць моў праграмавання Падтрымліваюцца АС/іх колькасць
Eclipse Perl, PHP, JavaScript, Python, Ruby/5 AIX, FreeBSD, HP-UX, Linux, Mac OS X, OpenSolaris, Solaris, QNX, Microsoft Windows, Android (ARM)/10
NetBeans IDE JJava, JavaFX, PHP, JavaScript, HTML5, Python, Groovy /7 Windows, Linux, FreeBSD, Solaris/4
Embarcadero RAD Studio XE7 HTML5 Windows, Mac OS X, iOS, Android/4
Xojo IDE Real Basic OS X, Windows, Linux, iOS/4
Komodo IDE/Komodo Edit Perl, PHP, Python, Ruby, Tcl. JavaScript, CSS3, HTML5, XML, XSLT/10 Linux, Mac OS X, Windows/3
PyCharm Python, JavaScript, HTML/3 Windows, Linux, Mac OS X/3
Aptana Studio 3 JavaScript, PHP, Ruby, Python/4 Windows, Linux, Mac OS X/3
Microsoft Visual Studio Code Python, PHP, JavaScript, JSON, XML, HTML, CSS /7 Mac OS X, Linux/2

Нажаль, аўтарам невядомыя даследаванні папулярнасці сродкаў кросплатформеннага праграмавання, таму скарыстаемся індэксам TIOBE[2], па якім ацэньваюць папулярнасць моў праграмавання. Як вынікае з найбольшай папулярнасцю больш за 10 гадоў карыстаюцца мовы праграмавання C (на 1.2015 г. 16,703%) і Java (15,528%), якія шырока выкарыстоўваюць для кросплатформеннага праграмавання. Менш папулярныя C++ (6,705%), C# (5,045%), PHP (3,784%), Python (2,613%), Perl (2,256%), Delphi / Object Pascal (0,837%). Яшчэ адным фактарам адбору можа быць колькасць аперацыйных сістэм і колькасць апаратных платформаў, для якіх можна выкарыстоўваць сродкі кросплатформеннай распрацоўкі. Не менш важнымі для кросплатформеннага праграмавання з’яўляецца стандартызаваныя бібліятэкі часу выканання. У прыватнасці, стандартам стала бібліятэка мовы C. Cвае стандартныя бібліятэкі маюць C++, Java, Python, Ruby, якія падаюцца разам са сродкамі распрацоўкі і даступныя на падтрымоўваных платформах. Варта адзначыць таксама некаторыя вялікія кросплатформавыя бібліятэкі – такія як Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL. У табліцы 4 стандартныя бібліятэкі часу выканання падзеленыя на бібліятэкі з адкрытым кодам і бібліятэкі з зачыненым кодам.

Табліца 4. Стандартныя бібліятэкі і праграмныя каркасы з адкрытым і зачыненым кодам
Бібліятэкі і праграмныя каркасы з адкрытым кодам / адкрытыя стандарты Бібліятэкі і праграмныя каркасы з зачыненым кодам
Boost, GIMP ToolKit, GTK+, FLTK, Kivy, OpenCV, OpenCL, OpenGL, SDL, Apache Cordova, Tk
OpenAL (раннія версіі) OpenAL (пазнейшыя версіі)
Qt Qt
Simple DirectMedia Layer Unity3D

Высновы[править | править вики-текст]

  1. Па папулярнасці моў праграмавання сярод кампілятараў першае месца займае мова праграмавання C, сярод інтэрпрэтатараў – мова Java.
  2. Па індэксе TIOBE ў студзені 2015 мова праграмавання Delphi / Object Pascal займае 20 месца.
  3. Па колькасці аперацыйных сістэм, у якіх можна скарыстацца згаданымі ў аглядзе сродкамі распрацоўкі, яны размешчаны ў табліцах 1—3. Апошняя радок у табліцы 1 (кросплатформеннага мовы праграмавання на ўзроўні кампіляцыі) з двума падтрымоўванымі АС займае Microsoft Visual Studio Code, ў табліцы 2 (кросплатформеннага мовы праграмавання на ўзроўні выканання) тры апошнія радкі з двума падтрыманымі АС займаюць Microsoft Visual Studio Code, .NET Core 5, Mono, у табліцы 3 (кросплатформавы інтэрпрэтатары) апошнюю радок з двума падтрымоўванымі АС займае Microsoft Visual Studio Code.
  4. Як і варта было чакаць колькасць стандартных бібліятэк з адкрытым кодам амаль у чатыры разы перавышае колькасць стандартных бібліятэк з зачыненым кодам.

Примечания и отзывы[править | править вики-текст]

  1. D. Thompson. The 11 Most Fascinating Charts From Mary Meeker’s Epic Slideshow of Internet Trends
  2. TIOBE Index for May 2015

Plays:48   Comments:0