pascalabcnet/PABCNetHelp/Common/main.html

119 lines
6.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="PascalABC">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../default.css">
<style type="text/css">
.auto-style1 {
color: #FF0000;
}
</style>
</head>
<body>
<OBJECT id=exam type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" style="position:absolute; top:-100; left:-100;">
<param name="Command" value="TCard">
<param name="Text" value="">
</OBJECT>
<H1>Ñèñòåìà PascalABC.NET</H1>
<p><strong>PascalABC.NET</strong> <font face="Arial"></font> ýòî
<span class="auto-style1"><strong>ñèñòåìà
ïðîãðàììèðîâàíèÿ è ÿçûê Pascal íîâîãî ïîêîëåíèÿ</strong></span> äëÿ ïëàòôîðìû Microsoft .NET.
ßçûê <strong>PascalABC.NET</strong> ñîäåðæèò âñå îñíîâíûå
ýëåìåíòû
ñîâðåìåííûõ ÿçûêîâ ïðîãðàììèðîâàíèÿ:
<a href="../LangGuide/Modules/indexmodule.html">ìîäóëè</a>,
<a href="../LangGuide/Classes/index_classes.html">êëàññû</a>,
<a href="../LangGuide/Classes/operoverloading.html">ïåðåãðóçêó îïåðàöèé</a>,
<a href="../LangGuide/Interfaces/indexinterf.html">èíòåðôåéñû</a>,
<a href="../LangGuide/ExceptionHandling/Overview.html">èñêëþ÷åíèÿ</a>,
<a href="../LangGuide/Generics/index_generics.html">îáîáùåííûå êëàññû</a>,
<a href="../LangGuide/MemoryManagement/index_memory.html">ñáîðêó ìóñîðà</a>,
<a href="../LangGuide/FuncProgramming/lambdas.html">ëÿìáäà-âûðàæåíèÿ</a>, à
òàêæå íåêîòîðûå ñðåäñòâà ïàðàëëåëüíîñòè, â òîì ÷èñëå
<a href="../LangGuide/OpenMP/indexopenmp.html">äèðåêòèâû OpenMP</a>. Ñèñòåìà <b>PascalABC.NET</b> âêëþ÷àåò
â ñåáÿ òàêæå ïðîñòóþ èíòåãðèðîâàííóþ ñðåäó, îðèåíòèðîâàííóþ íà ýôôåêòèâíîå
îáó÷åíèå ñîâðåìåííîìó ïðîãðàììèðîâàíèþ. </p>
<ul>
<li><a href="../LangGuide/index_lang_guide.html">Îïèñàíèå ÿçûêà <strong>PascalABC.NET</strong></a>.</li>
<li><a href="AdvantagePABC.html">Ïðåèìóùåñòâà&nbsp;<b>PascalABC.NET</b></a> äëÿ
ðàçðàáîòêè ïðîãðàìì è äëÿ îáó÷åíèÿ. </li>
<li><a href="PABCNETvsDelphi.html">Îòëè÷èÿ <b>PascalABC.NET</b> îò Delphi (Object
Pascal)</a>.
</li>
<li>Ïðèìåðû, èëëþñòðèðóþùèå îñíîâíûå îñîáåííîñòè <b>PascalABC.NET</b>,
íàõîäÿòñÿ â ìåíþ &quot;Ïîìîùü/Êîðîòêî î ãëàâíîì&quot;.</li>
</ul>
<p>ßçûê Ïàñêàëü áûë ðàçðàáîòàí øâåéöàðñêèì ó÷åíûì Íèêëàóñîì Âèðòîì â 1970 ã. êàê
ÿçûê ñî ñòðîãîé òèïèçàöèåé è èíòóèòèâíî ïîíÿòíûì ñèíòàêñèñîì. Â 80-å ãîäû
íàèáîëåå èçâåñòíîé ðåàëèçàöèåé ñòàë êîìïèëÿòîð Turbo Pascal
ôèðìû Borland, â 90-å åìó íà ñìåíó ïðèøëà ñðåäà
ïðîãðàììèðîâàíèÿ Delphi, êîòîðàÿ ñòàëà îäíîé èç
ëó÷øèõ ñðåä äëÿ áûñòðîãî ñîçäàíèÿ ïðèëîæåíèé ïîä Windows.
Delphi ââåëà â ÿçûê Ïàñêàëü ðÿä óäà÷íûõ îáúåêòíî-îðèåíòèðîâàííûõ ðàñøèðåíèé,
îáíîâëåííûé ÿçûê ïîëó÷èë íàçâàíèå Object Pascal. Ñ âåðñèè Delphi 7
<span lang="ru">ÿçûê </span>Delphi Object Pascal<span lang="ru"> ñòàë íàçûâàòüñÿ
ïðîñòî </span>Delphi<span lang="ru">. </span>Èç
àëüòåðíàòèâíûõ ðåàëèçàöèé Object Pascal ñëåäóåò îòìåòèòü
ìíîãîïëàòôîðìåííûé open source êîìïèëÿòîð Free
Pascal.</p>
<p>Ñîçäàíèå <strong>PascalABC.NET</strong>
<font face="Arial">äèêòîâàëîñü äâóìÿ îñíîâíûìè ïðè÷èíàìè:</font> óñòàðåâàíèå
ñòàíäàðòíîãî ÿçûêà Pascal è ñèñòåì, ïîñòðîåííûõ íà åãî îñíîâå (Free Pascal), à
òàêæå íåîáõîäèìîñòü â ñîâðåìåííîé ïðîñòîé, áåñïëàòíîé è ìîùíîé
èíòåãðèðîâàííîé ñðåäå
ïðîãðàììèðîâàíèÿ.</p>
<p> <strong>PascalABC.NET</strong> îïèðàåòñÿ íà ïåðåäîâóþ ïëàòôîðìó
ïðîãðàììèðîâàíèÿ Microsoft.NET, êîòîðàÿ îáåñïå÷èâàåò ÿçûê <b>PascalABC.NET</b>
îãðîìíûì êîëè÷åñòâîì ñòàíäàðòíûõ áèáëèîòåê è ïîçâîëÿåò ëåãêî
ñî÷åòàòü åãî ñ äðóãèìè .NET-ÿçûêàìè: C#,
Visual Basic.NET, óïðàâëÿåìûé C++, Oxygene è äð. Ïëàòôîðìà .NET ïðåäîñòàâëÿåò òàêæå òàêèå ÿçûêîâûå
ñðåäñòâà êàê åäèíûé ìåõàíèçì îáðàáîòêè èñêëþ÷åíèé, åäèíûé ìåõàíèçì óïðàâëåíèÿ
ïàìÿòüþ â âèäå <em>ñáîðêè ìóñîðà</em>, à òàêæå âîçìîæíîñòü ñâîáîäíîãî èñïîëüçîâàíèÿ êëàññîâ, íàñëåäîâàíèÿ,
ïîëèìîðôèçìà è èíòåðôåéñîâ ìåæäó ìîäóëÿìè, íàïèñàííûìè íà ðàçíûõ .NET-ÿçûêàõ.
Î òîì, ÷òî òàêîå ïëàòôîðìà Microsoft.NET, î åå ïðåèìóùåñòâàõ äëÿ ïðîãðàììèðîâàíèÿ
è äëÿ îáó÷åíèÿ ìîæíî ïðî÷èòàòü <a href="Net.html">çäåñü</a>.</p>
<p>ßçûê <b>PascalABC.NET</b> áëèçîê ê ðåàëèçàöèè Delphi (Object Pascal). Â íåì
îòñóòñòâóåò ðÿä <a href="PABCNETvsDelphi.html">ñïåöèôè÷åñêèõ ÿçûêîâûõ êîíñòðóêöèé Delphi</a>,
íåêîòîðûå êîíñòðóêöèè èçìåíåíû. Êðîìå ýòîãî,
äîáàâëåí ðÿä âîçìîæíîñòåé: èìååòñÿ àâòîîïðåäåëåíèå òèïà ïðè îïèñàíèè, ìîæíî îïèñûâàòü ïåðåìåííûå âíóòðè áëîêà, èìåþòñÿ îïåðàöèè <code>+=</code>, <code>
-=</code>, <code>*=</code>, <code>/=</code>, ìåòîäû ìîæíî îïèñûâàòü íåïîñðåäñòâåííî â òåëå êëàññà èëè
çàïèñè, ìîæíî ïîëüçîâàòüñÿ âñòðîåííûìè â ñòàíäàðòíûå òèïû ìåòîäàìè è ñâîéñòâàìè, ïàìÿòü ïîä îáúåêòû óïðàâëÿåòñÿ
<a href="../LangGuide/MemoryManagement/index_memory.html">ñáîðùèêîì ìóñîðà</a> è
íå òðåáóåò ÿâíîãî îñâîáîæäåíèÿ, ìíîæåñòâà <b>
<code>set</code></b> ìîãóò áûòü
ñîçäàíû íà îñíîâå ïðîèçâîëüíûõ òèïîâ, ââåäåí îïåðàòîðû <code><b>foreach</b></code>, ïåðåìåííûå
öèêëîâ <b><code>for</code></b> è <b><code>foreach</code></b>
ìîæíî îïèñûâàòü íåïîñðåäñòâåííî â çàãîëîâêå öèêëà, èìåþòñÿ
îáîáùåííûå êëàññû è ïîäïðîãðàììû (generics),
<a href="../LangGuide/Types/sequences.html">ïîñëåäîâàòåëüíîñòè</a>,
<a href="../LangGuide/Types/tuples.html">êîðòåæè</a>,
<a href="../LangGuide/Operations_Expressions/Slice.html">ñðåçû</a>,
<a href="../LangGuide/FuncProgramming/lambdas.html">ëÿìáäà-âûðàæåíèÿ</a> è äð.</p>
<p>Áëèçêèì ïî èäåîëîãèè ê <strong>PascalABC.NET</strong>
ÿâëÿåòñÿ ÿçûê RemObjects Oxygene (Object Pascal 21 âåêà). Îäíàêî îí ñèëüíî èçìåíåí â
ñòîðîíó .NET: íåò ãëîáàëüíûõ îïèñàíèé, âñå îïèñàíèÿ
ïîìåùàþòñÿ â êëàññ, ñîäåðæàùèé <span lang="ru">ñòàòè÷åñêèé</span> ìåòîä Main,
îòñóòñòâóåò ðÿä ñòàíäàðòíûõ ïîäïðîãðàìì ÿçûêà Ïàñêàëü. Êðîìå òîãî, ñèñòåìà
RemObjects Oxygene - ïëàòíàÿ
è íå ñîäåðæèò ñîáñòâåííîé îáîëî÷êè (âñòðàèâàåòñÿ â Visual Studio<span lang="ru">
è äðóãèå </span>IDE), ÷òî ïðàêòè÷åñêè äåëàåò íåâîçìîæíûì åå èñïîëüçîâàíèå â ñôåðå îáðàçîâàíèÿ.</p>
<p>Èíòåãðèðîâàííàÿ ñðåäà <strong>PascalABC.NET </strong>
îáåñïå÷èâàåò ïîäñâåòêó ñèíòàêñèñà, ïîäñêàçêó ïî êîäó (ïîäñêàçêà ïî òî÷êå,
ïîäñêàçêà ïàðàìåòðîâ ïîäïðîãðàìì, âñïëûâàþùàÿ ïîäñêàçêà ïî êîäó), ôîðìàòèðîâàíèå
òåêñòà ïðîãðàììû ïî çàïðîñó, ïåðåõîä ê îïðåäåëåíèþ è ðåàëèçàöèè èìåíè, ýëåìåíòû
ðåôàêòîðèíãà.</p>
<p>Âñå ïðàâà íà ñèñòåìó ïðîãðàììèðîâàíèÿ <b>PascalABC.NET</b>
ïðèíàäëåæàò PascalABCCompiler Team (web-ñàéò
<a href="http://pascalabc.net/" target=_blank>http://pascalabc.net</a>). </p>
</body>
</html>