Класс браузерлерінің даму тарихы мен мүмкіндіктері
Class browser
Класс браузерлер – IDE құралы. Объектілі бағдарламалау код құрылымын қарауға, шарлауға көмектеседі. Smalltalk тілінен бастау алған, қазіргі тілдерде де қолданылады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Кодтау платформаларының ерекшелігі
Feature of coding platforms
Класс браузері – бұл объектіге бағытталған бағдарламалау кодын қарауға, оның құрылымын зерделеуге немесе визуализациялауға бағдарламашыға мүмкіндік беретін интеграцияланған даму ортасының (IDE) мүмкіндігі.
A class browser is a feature of an integrated development environment (IDE) that allows the programmer to browse, navigate, or visualize the structure of object oriented programming code.
Тарих
Қазіргі заманғы сыныптық шолғыштардың көпшілігі Smalltalk-ке, ең алғашқы объектіге бағытталған тілдердің біріне және даму ортасына қарызды. Smalltalk-тың әдеттегі "бес терезелі" шолғышы – редакциялау панелінің үстінде орналасқан, көлденең біріккен таңдау панельдерінің тізбегі. Таңдау панельдері пайдаланушыға ең алдымен санатты, содан кейін класты таңдауға, ал таңдауды нақты класты немесе инстанция әдісін көрсетуге мүмкіндік береді, оның іске асылуы редакциялау панелінде қарау немесе өзгерту үшін ұсынылады. Кейінгі объектіге бағытталған тілдердің көпшілігі Smalltalk-тан айырмашылығы, бастапқы Smalltalk орталары сияқты біртұтас жүйеге динамикалық түрде енгізілмей, дискретті орындалу ортасында құрастырылып, орындалды. Дегенмен, сыныптық иерархияны шарлау үшін кестеге ұқсас немесе графикалық шолғыш тұжырымы қабылдауға ие болды. 1980 жылдардың соңында C++ танымал бола бастаған кезде, қазіргі заманғы IDE-лер сынып шолғыштарын қосты, бастапқыда сыныптық иерархияны шарлау үшін, кейін жаңа сыныптарды құруға көмектесу үшін. 1990 жылдардың ортасында Java енгізілгеннен кейін сынып шолғыштары кез келген графикалық даму ортасының қажетті бөлігіне айналды.
Most modern class browsers owe their origins to Smalltalk, one of the earliest object oriented languages and development environments. The typical Smalltalk "five pane" browser is a series of horizontally abutting selection panes positioned above an editing pane, the selection panes allow the user to specify first a category and then a class, and further to refine the selection to indicate a specific class or instance method the implementation of which is presented in the editing pane for inspection or modification. Most succeeding object oriented languages differed from Smalltalk in that they were compiled and executed in a discrete runtime environment, rather than being dynamically integrated into a monolithic system like the early Smalltalk environments. Nevertheless, the concept of a table like or graphic browser to navigate a class hierarchy caught on. With the popularity of C++ starting in the late 1980s, modern IDEs added class browsers, at first to simply navigate class hierarchies, and later to aid in the creation of new classes. With the introduction of Java in the mid 1990s class browsers became an expected part of any graphic development environment.
Бағаналы шолғыштар
Smalltalk дәстүрін жалғастыра отырып, бағандық шолғыштар сынып иерархиясын солдан оңға қарай бірнеше бағанда көрсетеді. Көбінесе ең оң жақ баған жапырақ класының инстанция әдістері немесе айнымалыларына арналады.
Continuing the Smalltalk tradition, columnar browsers display the class hierarchy from left to right in a series of columns. Often the rightmost column is reserved for the instance methods or variables of the leaf class.
Контурлық шолғыштар
Microsoft Windows-та негізделген жүйелер көбінесе сыныптар мен олардың қасиеттерін белгілеу үшін түрлі-түсті (бірақ түсініксіз) белгішелермен жабдықталған контурлық браузерді пайдаланады.
Systems with roots in Microsoft Windows tend to use an outline form browser, often with colorful (if cryptic) icons to denote classes and their attributes.
Диаграммалық шолғыштар
ХХІ ғасырдың басында сыныптық браузерлер модельдеу құралдарына айнала бастады, онда бағдарламашылар сыныптық иерархияны диаграмма түрінде көруге ғана емес, сонымен қатар диаграммаға сыныптарды қосу арқылы кодтарына сыныптарды да қоса алды. Осы визуализация жүйелерінің көпшілігі Бірыңғай модельдеу тілінің (UML) кейбір нұсқаларына негізделген.
In the early years of the 21st century class browsers began to morph into modeling tools, where programmers could not only visualize their class hierarchy as a diagram, but also add classes to their code by adding them to the diagram. Most of these visualization systems have been based on some form of the Unified Modeling Language (UML).
Браузерлерді рефакторингтік сыныптарға бөлу
Даму орталары қайта құру мүмкіндіктерін қоса келе, осы мүмкіндіктердің көптегені сынып браузерінде де, мәтін редакторларында да жүзеге асырылды. Рефакторинг шолғышы бағдарламашыға графикалық интерфейсте сүйреп әкелу арқылы бір кластан екінші класқа инстанция айнымалысын жылжытуға немесе мәтін редакторларындағы көптеген командалардың орнына тышқанмен қозғалыс арқылы кластарды біріктіруге немесе бөлуге мүмкіндік береді.
As development environments add refactoring features, many of these features have been implemented in the class browser as well as in text editors. A refactoring browser can allow a programmer to move an instance variable from one class to another simply by dragging it in the graphic user interface, or to combine or separate classes using mouse gestures rather than a large number of text editor commands.
Логикалық шолғыштар
Digitalk-тің алғашқы қосымшасы – Prolog ережелерінің сыныптар ішіндегі шарттар ретінде қапталып сақталатын логикалық шолғышы болды. Жақында BackTalk және SOUL (Smalltalk Open Unification Language with LiCor, немесе кодты түсіну кітапханасы) жүйелері Squeak және VisualWorks Smalltalk үшін пайда болды. Логикалық шолғыш Smalltalk-те іске асырылған Prolog-қа интерфейс ұсынады (Lisp жүйелері де көбінесе Smalltalk-те іске асырылған). ILog ережелері мен кейбір OPS өндіріс жүйелерінде де осыған ұқсас шолғыштарды табуға болады. Visual Prolog және XPCE ұқсас ережелерді қарау мүмкіндігін ұсынады. SOUL жүйесінде VisualWorks екі браузермен – сұраныс браузері және шарттар браузерімен жабдықталған, ал Backtalk шектеулер браузерін ұсынады. Алан Кейдің Smalltalk пен Prolog-тың ұқсастығы туралы ойлары сол кезде пайда болды, бірақ олардың арасында өте аз байланыс болды. Қазіргі уақытта XUL үшін XSB Prolog-қа қызығушылық артып, AMZI! Prolog-тың Eclipse IDE-ге көшірілуі логикалық шолғыштардың дамуындағы бағыттар болып табылады. Сыныптарға енгізілген ережелер Logtalk және LPA Prolog, Visual Prolog және AMZI! сияқты бірнеше объектіге бағытталған Prolog нұсқаларында, сондай-ақ SICStus жүйесінде кездеседі.
An early add on for Digitalk Smalltalk was a logic browser for Prolog rules encapsulated as clauses within classes. More recent logic browsers have appeared as BackTalk and SOUL (Smalltalk Open Unification Language with LiCor, or library for code reasoning) for Squeak and VisualWorks Smalltalk. A logic browser provides an interface to Prolog implemented in Smalltalk (Lisp engines have often been implemented in Smalltalk). A comparable browser can be found in ILog rules and some OPS production systems. Visual Prolog and XPCE provide comparable rule browsing. In the case of SOUL, VisualWorks is provided with both a query browser and a clause browser; Backtalk provides a constraints browser. The comments of Alan Kay on the parallel of Smalltalk and Prolog emerged in the same timeframe but with very little cross fertilization. The interest in XSB prolog for XUL and the migration of AMZI! prolog to the Eclipse IDE are current paths in logic browser evolution. Rules encapsulated in classes can be found in Logtalk and several OOP Prolog variants such as LPA Prolog, Visual Prolog and AMZI! as well as mainstream SICStus.
Веб-нұсқалары
Smalltalk-тағы Seaside веб-жобасының бір түрі жұмыс істеп тұрған веб-браузерде кластық шолғышты орындау барысында ашуға мүмкіндік береді: әдісті өңдеу дереу жұмыс істеп тұрған веб-қосымшаға өзгерістер енгізеді. Microsoft IE7 үшін Vistascript (Vista Smalltalk) жағдайында фонға оң клик жасау ClassHierarchyBrowser-ді ашады. Бұл веб-браузерде JavaScript прототиптерін өңдеуге немесе JVM-де іске қосылған IDE-дегі Ruby, Groovy немесе Jython кластарын өңдеуге ұқсас.
One variant of the Seaside web framework in Smalltalk permits a class browser to be opened at runtime in the running web browser: an edit to a method then takes immediate effect in the running web application. In the case of Vistascript (Vista Smalltalk) for Microsoft IE7, a right click on the background opens a ClassHierarchyBrowser. This is somewhat like editing JavaScript prototypes in a web browser or Ruby, Groovy or Jython classes in an IDE running in a JVM.