Medii de programare vizuală pentru Linux
Ar putea exista o distribuție Linux mai bună pentru dezvoltatorii web? Sau mai mult in termeni generali, să zicem, poate cea mai bună distribuție Linux pentru dezvoltatori?
Ne-am uitat la SemiCode OS, o distribuție Linux pentru programatori. Dar SemiCode OS este încă în versiune beta, așa că am decis să fac o listă pentru a vă răspunde la întrebare: care distribuții Linux ar trebui sa folosesc pentru programare?
Multe lucruri, cum ar fi limbajul de programare, instrumentele utilizate, suportul, disponibilitatea pachetelor și cât de repede sunt actualizate în depozite și multe cerințe nefuncționale, cum ar fi mediul desktop, oferă stabilitate și sunt importante de determinat.
Programatorul intră în contact cu sistemul de operare, mai ales într-o măsură mai mare decât oricine altcineva. Pentru programator, sistemul de operare trebuie să-l activeze. Și prin „incluziune”, mă refer la crearea unei pasiuni arzătoare pentru codificare și a dorinței de a face lumea un loc mai bun.
Cele mai bune distribuții Linux pentru programatori începători
Oricum, să începem. Ne vom uita la managerii de pachete, disponibilitatea pachetelor, stabilitatea, modelele de lansare și mediile desktop de distribuție în special.
De asemenea, dacă aveți propriile opțiuni de distribuție, care pot fi incluse în lista „ Cele mai bune distribuții Linux pentru programatori începători” - scrieți-le în formularul de comentarii de pe site.
1. Ubuntu
Ubuntu oferă 3 motive specifice pentru ca programatorii să-l folosească.
Ubuntu a crescut atât de mult încât a devenit real desktop Linux. Văd că aproape toți furnizorii de software care produc pentru platforma Linux oferă un pachet .deb. Astăzi, Ubuntu primește mai mult suport de furnizor decât orice altă distribuție.
Aceasta înseamnă că orice IDE, instrumente de care are nevoie un dezvoltator, va avea un program de instalare .deb gata de descărcat. Tot ce trebuie să faci este să dai clic pe butonul de descărcare. Acest lucru are, de asemenea, un avantaj imens atunci când proiectul dvs. depinde versiune specifică software. De asemenea, are un depozit uriaș de software stabil.
Ubuntu oferă o versiune LTS care va fi acceptată timp de 5 ani și nu va fi niciodată acceptată de o versiune LTS timp de 9 luni. O versiune non-LTS care nu are un număr mare de pachete (cum ar fi varianta LTS). Acest lucru oferă o stabilitate de neegalat. Componentele principale sistem de operare iar nucleul nu se va schimba, așa cum este cazul versiunii mobile a sistemului de operare. Acest lucru oferă programatorilor și dezvoltatorilor o bază de lucru fiabilă și stabilă, care nu va arăta nicio inconsecvență.
În al treilea rând, vreau să discut despre mediul de lucru Desktop Ubuntu, care este Unitatea. Deși aceasta este o chestiune de preferință subiectivă, aș dori să vorbesc despre beneficiile Unity pentru un programator.
Unity are o interfață simplă. Lansatorul este o stivă simplă în care plasați toate aplicațiile preferate și cele mai frecvent utilizate. Lansați aplicații și comutați între aplicații folosind același lansator. Acest lucru, cred, este un lucru pozitiv, deoarece acest shell a fost mult mai puțin invaziv în comparație cu GNOME. Acest lucru facilitează comutarea între aplicații. În plus, Unity este ușor de personalizat. Dash este, de asemenea, foarte ușor de utilizat și vă ajută să navigați rapid în sistemul de operare. Sincer vorbind, lansatorul este un amplificator grozav de performanță.
Ubuntu este un sistem de operare sofisticat. Ubuntu este disponibil și în versiuni diferiteși există distribuții excelente pe Bazat pe Ubuntu. Verifică-le și tu. Puteți descărca Ubuntu de pe site-ul oficial.
2. openSUSE
OpenSUSE este una dintre cele mai complexe distribuții Linux. Are o comunitate grozavă, un sector de dezvoltare solid și o atitudine complet profesională. Deși folosesc Arch Linux pe computerele mele, întotdeauna am avut o părere bună despre openSUSE.
OpenSUSE este mult mai potrivit pentru dezvoltatori, mai ales datorită libertății pe care o oferă. OpenSUSE vine în două variante. Și dacă vorbim despre cele mai bune distribuții Linux pentru programatori începători, atunci aceasta va fi o opțiune bună.
Leap vine cu ciclu de viață 6 luni de la eliberare următoarea versiune. Deci, în prezent, dacă instalați OpenSUSE Leap 42.2, acesta va fi acceptat timp de până la 6 luni după lansarea openSUSE Leap 42.3. Vine cu un software stabil garantat, astfel încât orice instrument de care aveți nevoie pentru dezvoltare va funcționa fără erori în și în afara proiectului dvs.
Pe de altă parte, openSUSE Tumbleweed urmează o lansare continuă. Puteți spune că va fi susținut pentru totdeauna. Software-ul va fi actualizat pe in mod regulat. Toate IDE-urile, editorii dumneavoastră open source preferati și alte instrumente vor fi întotdeauna actualizate la cele mai recente ultima versiune. În timp ce actualizările sunt bine testate și nu provoacă aproape niciodată problemele asociate cu distribuțiile cu margini încrucișate, există un lucru pe care ar trebui să îl luați în considerare. Cel mai adesea, proiectul dvs. poate depinde de o anumită versiune de software, cum ar fi JDK. Ar trebui să fiți atenți când acceptați actualizări în astfel de cazuri.
Leap sau Tumbleweed, openSUSE are o modalitate absolut uimitoare de a furniza software. Doar accesați software.opensuse.org, căutați pachetul necesarși faceți clic pe „Instalare directă” și gata. Fără eșecuri de depozit, comenzi și dependențe. Cred că acesta este principalul punct de vânzare al openSUSE. Acest lucru va economisi mult timp atunci când doriți doar să instalați lucrurile și să treceți la codare.
În cele din urmă, openSUSE este o distribuție Linux excelentă pentru programare și codare datorită fiabilității, stabilității și depozitului uriaș de software bine acceptat. Nu e de mirare că chiar și multe întreprinderi îl folosesc pentru dezvoltatorii lor. Verificați cu siguranță.
3. Fedora
Linus Torvalds însuși folosește Fedora. Ai nevoie de mai multe motive?
Fedora este rapid. Chiar și versiunea Fedora lui Gnome rulează mai repede pe computerul meu. Mai rapid decât alte distribuții care rulează Gnome. Îmi place să nu trebuie să mă uit la ecran când Chrome se blochează din cauza atâtor file deschise.
Fedora are un ciclu de lansare de 6 luni. Acest lucru este grozav pentru dezvoltatorii care se găsesc blocați cu o versiune veche pentru prea mult timp.
Motivul principal pentru alegerea Fedora este că este mai mult decât un manager de pachete sau un mediu desktop. Fedora este un susținător ortodox al open source. Tot ce este Fedora este open source. Nu există drivere sau chestii proprietare în depozitele Fedora (puteți instala drivere proprietare, dar este puțin mai implicat decât rularea unor comenzi dnf). Deci, dacă ești un pasionat de surse deschise, Fedora este cu siguranță pentru tine.
Fedora este proiectul partener al Red Hat Enterprise Linux, sistemul de operare al programatorului original. Există o relație reciprocă între Fedora și Red Hat Enterprise Linux care oferă atât beneficii în ceea ce privește tehnologia, cât și inovația.
Fedora poate obține sponsorizare și profesionalism părere de la RHEL, dar este susținut de o comunitate de dezvoltatori RHEL entuziaști și profesioniști pasionați de Fedora. Acest lucru se traduce direct prin faptul că Fedora este o configurație superioară pentru dezvoltatori. Și adăugați Fedora - una dintre cele mai stabile distribuții Linux din fiecare versiune. Pur și simplu a trebuit să adăugăm această versiune pe lista noastră de profesioniști. Cele mai bune distribuții Linux pentru programatori începători.
Fedora este disponibil și în mediile desktop preferate. Verificați-le după instalare. Puteți descărca Fedora Gnome de pe site-ul oficial.
4. Arch Linux
Această distribuție poate fi, de asemenea, clasificată ca pro Cele mai bune distribuții Linux pentru programatori începători, deoarece pentru a configura pur și simplu sistemul pentru aceasta veți avea nevoie de suficient timp și răbdare pentru ca totul să funcționeze corect. Dar merita.
Arch Linux vine cu nucleul Linux și managerul de pachete Pacman. Nici măcar nu ai GUI. Construiți dintr-o bază, asamblați componente după cum credeți de cuviință. Rezultatul este un sistem de operare extrem de personalizat, care conține tot ce aveți nevoie și nimic din ce nu aveți.
Arch Linux este cunoscut pentru depozitul său modern de vârf. Fiecare pachet din arhivele oficiale are întotdeauna cel mai mare număr de versiune, dar este încă disponibil numai după testare atentă. Astfel, sistemul de operare în sine este complet fiabil. Probleme rare de stabilitate apar atunci când se instalează pachete neacceptate din arhiva arhivă Arch (care pot fi evitate dacă aveți grijă când lucrați cu AUR). Acest lucru afectează doar software, despre care despre care vorbim, și nu despre sistemul de operare în sine.
Fiecare informație și instrucțiuni de depanare sunt bine documentate în Arch Wiki, care este, sincer, cea mai bună documentație pe care o are orice distribuție Linux. Deci, orice problemă pe care o puteți întâlni poate fi rezolvată cu ușurință urmând cele mai inovatoare instrucțiuni furnizate pe Arch Wiki.
Arch Linux vine fără întreținere, deoarece sistemul de operare este actualizat în mod constant. Pacman poate rezolva eficient problemele de dependență și pachetele orfane. Cel mai recent și mai bun din tot ce este Linux este întotdeauna disponibil în Arch User Repository.
Construirea unui sistem de operare personal cu Arch Linux este calea de urmat dacă mă întrebați pe mine. Puteți găsi Arch Linux aici.
5.Antergos
Antergos este o distribuție Linux bazată pe Arch. Mulți oameni cred că distribuțiile bazate pe Arch sunt pur și simplu instalatori Arch, ceea ce ajută la instalarea unui sistem Arch folosind un grafic interfața cu utilizatorul. Ei bine, nu este cazul. Antergos folosește stocarea de arhivă, da. Dar are propriile sale ramuri.
Antergos urmează o eliberare rapidă, așa că nu trebuie să vă faceți griji cu privire la sfârșitul asistenței. Este disponibil în toate limbile majore. Antergos, deși bazat pe Arch, nu este o distribuție barebones. Vine cu o cantitate mare programe preinstalate. Dar acest număr este încă mai mic în comparație cu alte distribuții, așa că nu veți simți că sistemul dvs. este umflat și vă oferă flexibilitatea de a-l personaliza în funcție de dorințele și nevoile dvs.
Credem că această distribuție merită să fie și pe lista noastră " Cele mai bune distribuții Linux pentru programatori începători«.
Antergos folosește depozitele Arch, astfel încât tot ce aveți nevoie în arsenalul dvs. este întotdeauna disponibil cu cel mai mare număr de versiune. Pacman, managerul de pachete al lui Arch, vine fără probleme la adăugarea unui depozit. Depozitul conține cel mai recent software și uneori sunt stocate și unele versiuni mai vechi celebre, cum ar fi Dezvoltare Java Kit. Antergos are, de asemenea, propriul depozit suplimentar care oferă pachete de personalizare Antergos (diferite de Arch), software-ul Antergos și multe alte lucruri, cum ar fi imagini de fundal Antergos și pachete de pictograme.
Pacman gestionează problemele de dependență și pachetele orfane într-un mod care este superior oricărui manager de pachete. Instabilitatea este exclusă.
Nou software codificate, metode dezvoltate și tendințele schimbate cu fiecare răsărit. Depozitul Arch User se află aici. Arch User Repository este un depozit bazat pe comunitate care conține o cantitate mare pachete, inclusiv multe programe noi. Practic conține tot ceea ce rulează pe o mașină Linux. Deci, fiecare IDE, SDK și bibliotecă de care aveți nevoie vor fi instalate cu o singură comandă.
numele_yourt_al_software-ului
Antergos oferă toate mediile desktop majore. Instalarea este ușoară cu programul de instalare Cnchi. Oferă opțiuni pentru a selecta mediul desktop, browser, drivere grafice etc asupra instalaţiei propriu-zise. În general, Antergos face o distribuție Linux excelentă pentru codare. Verificați-l pe site-ul lor oficial.
concluzii
Dacă aveți prieteni care sunt interesați de Linux, spuneți-le că aleg cele mai bune distribuții Linux pentru programatori începători. Împărtășiți-ne feedbackul despre aceste distribuții. De asemenea, împărtășește câteva sfaturi pe care mulți programatori le-ar putea găsi utile în comentariile de mai jos.
Dacă găsiți o eroare, evidențiați o bucată de text și faceți clic Ctrl+Enter.
Mulți programatori începători se tem
programare în Linux - fără simplitate Windows
si vizibilitate. Cu toate acestea, există și pentru Linux
multe ajutoare vizuale
programare și nu este doar o clonă Delphi.
Desigur, ele nu pot deveni complete
inlocuind acelasi Studio vizual, totuși destul
ajuta la accelerarea procesului de dezvoltare
programe.
NetBeans
Unul dintre cele mai bune IDE-uri. Destinate pentru
lucrând cu Java, îl puteți folosi
dezvolta nu numai multi-platformă
Programe Java, dar și aplicații web, servicii web și
clienți pentru ei, programe J2ME etc. Pot fi
lucrează pe Windows, Linux, MacOS. IDE-ul este extensibil
diverse plugin-uri și suplimente, care pot fi
găsiți pe site. În același timp, totul este gratuit, atunci
mănâncă pentru hayalva! În general - un număr incontestabil
unu.
Designer QT/KDevelop
Un alt mediu de dezvoltare puternic pe
platforma KDE și Gnome. C++ multiplatformă
aplicațiile ies doar pe drum. Pentru
programele Qt necomerciale pot fi
liber de utilizat, există
pentru aproape toate distribuțiile.
Clonează Visual Basicși nu numai în design,
dar şi în construcţiile limbajului. Perfect
instrument pentru programatorii VB care doresc
trece la Linux. Interfață simplă și convenabilă.
Acces la toate bazele de date principale - MySQL,
PostgreSQL, etc. Funcționează pe aproape toată lumea
distribuţiile.
Editor WYSIWYG pentru crearea de pagini web. În
Îmi amintește mult de editorul Macromedia sau orice altceva
aceeași FrontPage. Suporta automat
lucrați cu site-ul prin FTP.
Crearea mediului IDE Python și Ruby
programarea în limbaj este destul de simplă
și incitant. Scris de fapt pe
Piton.
Eclipse nu este deloc un IDE, ci o întreagă platformă pentru
aplicatii diverse. La standard
livrarea include pluginuri suplimentare pentru
Suport și dezvoltare pentru limbajul Java (JDT).
pluginuri pentru Eclipse (PDE - Plugin Development Environment). Pentru
lucrul cu alte limbi ar trebui să fie
pluginuri speciale instalate - în Eclipse
poate lucra pe aproape orice
limbaj de programare accesibil. O alta
avantajul se aplica si la
extindere: cantitate gigantică
utilitare (în special pentru Java) acum
disponibil și ca pluginuri pentru Eclipse,
de exemplu Ant, JavaDoc, JUnit, JDepend, Check Style, Subversion.
Deci nu trebuie să renunțăm
sistemul dvs. de control al versiunilor, de la dvs
programe de verificare a calității codului etc.
Al treilea avantaj este că Eclipse este
mediu multi-platformă, adică
există versiuni pentru diferite
sisteme de operare (care nu pot
să permită același Visual Studio).
JDeveloper
Platforma de la Oracle nu este open source,
cu toate acestea, este încă gratuit. După cum este clar din
denumirile sunt încă folosite cross-platform
Java. Folosește Sun JDK pentru a funcționa, deci
Oracle nu are plângeri cu privire la ceea ce este creat
programele, în teorie, nu o vor avea.
Și în sfârșit, mediul de control vizual
proiecte pentru Gnome Desktop. Nu mai puțin util
program pentru programatori decât un IDE.
Acest articol este destinat pentru două tipuri de cititori. În primul rând, aceștia sunt oameni care au experiență în programare în MS Windows, dar nu au o astfel de experiență în GNU/Linux. În al doilea rând, aceștia sunt oameni care nu au deloc experiență în programare. Cu toate acestea, presupun că cititorul este în general familiarizat cu terminologia obișnuită de programare și nu trebuie să fie explicat, de exemplu, ce este un „program”, „funcție”, „compilator” sau „depanare”.
Instrumente de dezvoltare
Mă voi uita la dezvoltarea utilizând acele instrumente care sunt cele mai native pentru GNU/Linux. Acestea includ:
limbaj de programare C
bash shell
Text Editori Vimși Emacs
compilator GCC
GDB Debugger
Utilitar pentru construirea unui proiect GNU make
Sistemul de control al versiunilor Git
Sistem de ferestre X11
Alegerea acestor mijloace speciale nu este o dogmă. Fiecare dintre cele de mai sus fonduri transferate poate fi înlocuit cu altceva dacă se dorește. Cu toate acestea, expresii precum „mediu de dezvoltare Linux” se referă de obicei la acest set de instrumente.
Limbaje de programare
Cel mai „nativ” limbaj de programare pentru GNU/Linux este C. Acest lucru se datorează următorilor factori:
GNU/Linux împrumută multe idei (practic, ideologie) din sistemul de operare UNIX;
sala de operatie sistem UNIX a fost scris în C (de fapt, acest limbaj a fost creat special pentru scrierea acestui sistem de operare);
Respectiv, Nucleul Linuxși mediul de sistem GNU sunt, de asemenea, scrise în C.
Mai jos voi lua în considerare dezvoltarea folosind limbajul C. Cu toate acestea, această alegere nu este o dogmă. Alte limbaje populare pentru dezvoltare sub GNU/Linux sunt C++, Python și Perl. Desigur, pot fi folosite orice alte limbi.
Mediu de dezvoltare
În ultimele două decenii, așa-numitul IDE - medii de dezvoltare integrate. Un astfel de mediu include un editor de text, un compilator, un depanator, instrumente de construire a proiectelor și multe altele. Astfel de medii sunt disponibile și pentru GNU/Linux (cele mai populare sunt Eclipse, NetBeans, IDEA, KDevelop, Anjuta). Cu toate acestea, istoria dezvoltării sistemelor de tip UNIX arată că IDE-urile sunt nu numai singurele, ci și cele mai mijloace eficiente dezvoltare. Practic, răspunsul corect la întrebarea „care este cel mai mult cel mai bun IDE sub GNU/Linux” înseamnă „GNU/Linux este un IDE”.
Adesea, puteți da peste părerea că este imposibil să dezvoltați un proiect mare fără un IDE. Această opinie este ușor de respins. Primele versiuni ale UNIX nici măcar nu au fost scrise în Vim (încă nu exista), ci în Ed. Acesta este un așa-numit editor de text linie cu linie în care puteți edita doar o singură linie de text la un moment dat. Întregul fișier nu este afișat pe ecran. În cazul UNIX, nu putea fi altfel - dezvoltatorii nu aveau niciun ecran, iar comunicarea cu sistemul se făcea folosind teletipuri. Nucleul Linux modern este scris în principal în editorii Emacs și Vim.
Multe utilitare UNIX numesc „editor de text implicit”. Comanda care lansează editorul de text implicit este preluată din variabila de mediu $EDITOR. Unele utilitare se uită mai întâi la variabila $VISUAL și numai dacă nu este setată, la variabila $EDITOR. Acesta este un comportament istoric: computerele vechi de multe ori nu aveau niciun ecran conectat, ci doar un teletype, așa că nu avea rost să lansăm un editor de ecran (vizual). În distribuțiile moderne, implicit este de obicei EDITOR=vi sau EDITOR=nano . Puteți specifica utilizarea unui editor diferit pentru o comandă astfel:
EDITOR=emacs some-command
A folosi editorul potrivit implicit întotdeauna, trebuie să adăugați o linie ca
export EDITOR=emacs
Din punct de vedere istoric, singurii editori de text „adevărați” pentru programatori sunt Vim și Emacs (pur și simplu datorită faptului că au cea mai lungă istorie de dezvoltare ca editori de text pentru programatori). Editorii rămași sunt într-o poziție de recuperare.
Shell de comandă
Shell de comandă (sau interpret de comenzi) este un program care acceptă în mod corect comenzi de la utilizator într-un limbaj simplu programarea si executarea acestora. Majoritatea comenzilor rulează programe cu același nume. Comenzile individuale sunt constructe ale limbajului de programare shell.
Standardul POSIX include o descriere a setului minim de capabilități furnizate de shell-ul de comandă. Shell-urile utilizate efectiv oferă de obicei mai multe caracteristici.
Sistemele de operare ale familiilor DOS și Windows au împrumutat unele funcții coajă de la UNIX, dar autorii lor au făcut simplificări semnificative, motiv pentru care funcționalitatea COMMAND.COM și cmd.exe a fost mult redusă. PowerShell este destul de la egalitate, dar funcționează semnificativ diferit.
În scopul acestui articol, mă voi limita la utilizarea shell-ului bash (ca cel mai comun și implicit shell pe majoritatea distribuțiilor) pentru a rula compilatorul și alte instrumente de dezvoltare. Bună recenzie Utilizarea shell-ului de comandă poate fi găsită, de exemplu, în binecunoscuta carte .
Documentație
Toate instrumentele de dezvoltare și bibliotecile din GNU/Linux sunt de obicei destul de bine documentate. În mod tradițional, documentația folosește un format special și o utilitate pentru vizualizarea acesteia - man. Documentația din sistem este împărțită în mai multe secțiuni:
Comenzi de utilizator (cum ar fi ls, gcc sau man)
Apeluri de sistem - API-ul nucleului OS
Funcțiile bibliotecii
Șoferii etc.
Formate de fișiere
Jocuri etc.
Diferite prezentări generale ale subsistemului
Comenzi utilizate pentru administrarea sistemului
Pentru a apela un subiect de documentație după nume, trebuie să specificați acel nume atunci când apelați comanda man (de exemplu, man ls). Uneori secțiuni cu acelasi nume se află în mai multe secțiuni ale documentației de documentare. Puteți specifica o anumită secțiune atunci când apelați man (de exemplu, man 3 printf).
Mai multe informații despre sistem de ajutor om vezi om om .
Utilitarele de mediu de sistem GNU folosesc adesea formatul de informații pentru documentare. Vezi, de exemplu, info Coreutils.
Compilator
Acum există multe compilatoare C cu care sunt mai mult sau mai puțin compatibile diverse standarde. Cu toate acestea, pentru moment, compilatorul C inclus în GNU Compilers Collection (GCC) rămâne cel mai aplicabil în mediul GNU/Linux. Acest compilator, pe lângă standardul C, acceptă o serie de extensii standard. Aceste extensii, în special, sunt utilizate pe scară largă în sursele nucleului Linux. ÎN În ultima vreme Apar compilatoare care pot compila nucleul Linux (de exemplu, llvm-clang sau EKO).
Compilatorul GCC este lansat din shell-ul de comandă cu o comandă asemănătoare
gccprogram.c
unde program.c este numele fișierului de intrare. În plus, conform Standardul POSIX, compilatorul poate fi lansat cu comanda cc program.c (cc înseamnă "C compilator").
Când rulează normal, compilatorul încearcă să creeze fisier executabil. În mod implicit, fișierul de ieșire se numește a.out (acest nume rămâne din versiunile antice ale UNIX). Un alt nume poate fi specificat folosind opțiunea compilatorului -o, de exemplu,
program program gcc -o.c
La asamblarea unui program din mai multe module, compilatorul poate fi alimentat cu mai multe fișiere sursă sau fișiere de cod obiect ca intrare, de exemplu,
gcc -o program main.c module1.o module2.o …
Doar pentru a compila unul dosarul originalîn cod obiect (fără a încerca să construiți un fișier executabil), trebuie să dați o comandă ca
(numele implicit al fișierului de ieșire va fi module.o).
Bibliotecile sunt adesea necesare pentru a construi un program. Linux folosește două tipuri de biblioteci: biblioteci de legături statice și biblioteci de legături dinamice. Cu legături statice, întreaga bibliotecă este inclusă în fișierul executabil atunci când programul este construit. Cu legătura dinamică, în fișierul executabil este scris doar numele bibliotecă dinamică, iar căutarea acestui fișier și compoziție are loc la pornirea programului.
Biblioteca statică în sisteme asemănătoare UNIX este o arhivă (format ar vechi) care conține un set de fișiere obiect. O astfel de arhivă este creată cu o comandă de genul
ar r libsomething.a module1.o module2.o …
Numele fișierelor bibliotecii încep în mod tradițional cu prefixul lib.
O bibliotecă încărcată dinamic este un fișier obiect format special(calculat pentru încărcare dinamică). O astfel de bibliotecă este creată cu o comandă ca
gcc -shared -o libsomething.so module1.c module2.c …
Pentru a utiliza biblioteca la construirea unui program, trebuie să-l specificați compilatorului folosind opțiunea -l, de exemplu
gcc -o program -lm program.c
(aici va fi folosit fișierul de bibliotecă libm.so, compilatorul înlocuiește implicit prefixul lib). În mod implicit, compilatorul creează un program care utilizează biblioteci dinamice. Dacă doriți să utilizați versiuni statice ale bibliotecilor, trebuie să specificați opțiunea -static la compilator.
Informatii detaliate Pentru opțiunile gcc, vezi man gcc.
Salut Lume!
Se crede că tradiția de a începe să învețe un limbaj de programare prin scrierea unui program care tipărește șirul „Hello, world!” a început cu cartea „The C Language” de Kernighan și Ritchie. . În cazul limbajului C, acest program arată astfel:
#include
int principal(int argc, char * argv) (
printf("Bună lume!\n" );
întoarcere 0
;
}
Pentru a rula acest program, acest text trebuie să fie scris într-un fișier numit, de exemplu, hello.c, iar din directorul în care se află acest fișier, dați o comandă ca
gcc -o salut salut.c
Totuși, în cazul unui program atât de simplu, este suficient să dai comanda
(Voi explica mai jos de ce aceste două comenzi funcționează la fel). Ca rezultat, un fișier executabil numit hello va apărea în același director. Îl poți rula cu comanda
Ordin de asamblare
Să aruncăm o privire mai atentă la ceea ce face exact compilatorul. Comportamentul compilatorului C este tradițional și este folosit de compilatorii altor limbaje.
La intrare, compilatorul are caz general set de fisiere cu textele sursă. Înainte de a începe compilarea propriu-zisă, aceste fișiere sunt procesate de așa-numitele. preprocesor (program cpp). Funcția principală a acestui program este de a executa directive precum #include . După ce a întâlnit o astfel de directivă, preprocesorul inserează conținutul fișierului specificat (în în acest caz,, stdio.h) în locul prezentei directive. Preprocesorul înțelege alte câteva directive, dar nu mă voi opri asupra lor acum.
După preprocesor, se realizează compilarea propriu-zisă. Din fișierele sursă în această etapă, așa-numitele. fișiere obiect. Acestea sunt fișiere care conțin executabilul Codul mașinii, dar nu este încă gata de lansare. Principalul lucru care le lipsește sunt adresele funcțiilor bibliotecii care trebuie apelate. De exemplu, codul pentru funcția printf() este conținut în biblioteca libc. Și fișierul obiect conține doar numele acestei funcții. În plus, fișierul obiect conține numele tuturor funcțiilor declarate în el.
Fișierele obiect, precum și bibliotecile utilizate, sunt furnizate ca intrare către linker (programul ld). Linker-ul caută toate funcțiile apelate din diferite fișiere obiect (după nume) în fișiere obiect și biblioteci. Dacă toate funcțiile sunt găsite, atunci linker-ul asamblează fișierul executabil real. În acest caz, numele funcțiilor apelate sunt înlocuite cu adrese de memorie specifice. În cazul utilizării unei biblioteci dinamice, rămâne numele funcției utilizate, iar la aceasta se adaugă numele fișierului bibliotecii dinamice, în care, la pornirea programului, va trebui să căutați această funcție.
Programul gcc în sine este un așa-numit driver. Rulează programele menționate mai sus (sau doar câteva dintre ele, în funcție de opțiuni) pentru a produce un fișier executabil.
Al doilea exemplu: rezolvarea ecuațiilor pătratice
Ca putin mai mult exemplu complex Să considerăm un program care trebuie să rezolve ecuații pătratice. Utilizatorul introduce coeficienții unui trinom pătratic, iar programul își afișează rădăcinile reale. Aici text complet un astfel de program:
#include
#include
/* rezolvare: se calculează rădăcinile ecuației pătrate.
* a, b, c sunt coeficienți în ecuație.
* Rădăcinile ar fi stocate la x1, x2.
* Valoarea returnată: numărul rădăcinilor reale.
*/
int rezolva (dublu a, dublu b, dublu c,
dublu* x1, dublu* x2) (
dublu D = b*b - 4*a*c;
dublu sqrtD;
dacă (D > 0) (
sqrtD = sqrt(D);
*x1 = (-b - sqrtD)/(2,0 * a);
*x2 = (-b + sqrtD)/(2,0 * a);
întoarcere 2;
) altfel dacă (D< 0)
returnează 0;
altceva(
*x1 = -b/(2,0*a);
întoarcere 1;
}
}
int main (int argc, char* argv) (
dublu a,b,c;
dublu x1, x2;
int roots_count;
// Coeficienți de intrare
printf("A:");
scanf("%lf", &a);
printf("B: ");
scanf("%lf", &b);
printf("C: ");
scanf("%lf", &c);
// Rezolvați ecuația
număr_rădăcini = rezolva (a,b,c, &x1, &x2);
// Rezultate de ieșire
comutare (root_count) (
cazul 0:
printf("Fără rădăcini (reale).\n");
pauză;
cazul 1:
printf("O rădăcină: %0.4lf\n", x1);
pauză;
cazul 2:
printf(„Două rădăcini: %0.4lf și %0.4lf\n”,
x1, x2);
pauză;
}
Prin analogie cu exemplul anterior, să scriem acest text în fișierul square.c și să încercăm să-l compilam cu comanda
gcc -o pătrat pătrat.c
Dar de data aceasta vom primi o eroare de genul asta:
/tmp/cc6RNFIi.o: În funcția `solve": square.c:(.text+0x6d): referință nedefinită la `sqrt" collect2: ld a returnat 1 stare de ieșire
Ce se întâmplă aici? Este clar că din anumite motive compilatorului nu i-a plăcut apelul la funcția sqrt(). Mai mult, nu se mai plânge de dosar cod sursa, ci la un fișier obiect (acesta cc6RNFIi.o). Aceasta înseamnă că fișierul sursă a fost compilat cu succes, iar problemele au apărut la etapa de conectare (ceea ce se poate vedea din mențiunea unei erori în programul ld în text - acesta este un linker standard în GNU/Linux). Linkerul nu a putut găsi funcția sqrt(). În acest caz, a fost pentru că funcția era conținută în libm și nu i-am cerut compilatorului să o folosească. Pentru a scăpa de această eroare, trebuie să schimbăm comanda de compilare la următoarea:
gcc -o pătrat -lm pătrat.c
O astfel de comandă ar trebui să funcționeze fără erori și să creeze un pătrat de fișier executabil.
Când asamblați oricare este suficient program complex va trebui să folosim mai multe biblioteci și poate fi necesar să specificăm și alte opțiuni compilatorului. Comanda poate deveni destul de lungă. Ce, ar trebui să-l scriu manual de fiecare dată? Nu. Unul dintre principiile filozofiei UNIX este: „Orice poate fi automatizat ar trebui să fie automat”. Aici vom avea nevoie de unul dintre cele mai vechi utilitare UNIX - programul make. Pentru a-l folosi, trebuie să scriem un fișier numit Makefile (în același director cu fișierul sursă) cu următorul conținut:
pătrat: pătrat.c $(CC) -o $@ -lm $<
Acum puteți construi fișierul executabil pur și simplu rulând comanda make. Cum functioneaza?
Face
Utilitarul make este conceput pentru construirea de programe (deși poate fi folosit pentru a automatiza multe alte sarcini similare). Citește un fișier numit Makefile și vede un set de reguli în el. Fiecare regulă definește trei lucruri: un obiectiv (adică, ceea ce trebuie construit), o listă de fișiere sursă și un set de comenzi care trebuie executate pentru a construi obiectivul din fișierele sursă. În exemplul de mai sus, square este numele țintei, square.c este singurul fișier sursă în acest caz (dacă sunt mai multe, acestea sunt listate separate printr-un spațiu), iar a doua linie este comanda. Variabilele pot fi folosite într-o comandă. Unele dintre variabile au o semnificație specială. În special, în orice regulă, $@ indică numele țintei și $< — первый исходный файл. Переменная $(CC) указывает на компилятор C, используемый в системе по умолчанию (в большинстве случаев это gcc , но бывает и что-нибудь другое).
Caracterul wildcard % poate fi folosit în numele țintă și lista de fișiere sursă. De exemplu, această regulă:
%.o: %.c $(CC) -c $<
indică faptul că fișierele cu un nume care se termină în .o trebuie asamblate din fișierele corespunzătoare cu sufixul .c .
În plus, informați în avans o serie de reguli implicite. Printre acestea se numără și cea menționată în ultimul exemplu, precum și regula
%: %.c $(CC) -o $@ $<
Datorită acestei reguli, în exemplul cu „Bună, lume!” doar face hello a alergat cc -o hello hello.c .
Folosind un set de reguli, make creează un grafic al dependențelor țintelor unul față de celălalt și pe fișierele sursă și execută numai acele comenzi care sunt necesare pentru a construi ținta specificată pe linia de comandă. Dacă nu sunt specificate ținte, prima țintă descrisă în Makefile este construită.
Pentru mai multe informații despre acest utilitar, consultați, de exemplu, man make.
Gestionarea versiunilor
Orice VCS poate fi folosit pentru versiunea codului sursă. Totuși, din moment ce vorbim despre GNU/Linux, să aruncăm o privire rapidă asupra sistemului folosit pentru a dezvolta nucleul Linux: git. Există o documentație destul de extinsă despre git, inclusiv. iar în rusă. Vezi de exemplu articolul meu sau o serie cunoscută de articole .
Pentru a începe să utilizați git, trebuie să creați un depozit - un depozit pentru versiunile de fișiere. Acest lucru este făcut de echipă
Acum puteți adăuga fișiere în depozit. Dar nu trebuie să urmărim versiunile unor fișiere, și anume fișiere obiect și fișiere executabile. Pentru a le exclude imediat din considerarea git, vom scrie un fișier .gitignore cu următorul conținut:
*.o pătrat salut
Acum echipa
va adăuga toate fișierele din directorul curent la depozit, cu excepția celor menționate în fișierul .gitignore. După aceasta, vă puteți comite cu comanda
Această comandă va deschide editorul de text implicit. Aici va trebui să scrieți un comentariu pentru commit. În acest caz, este suficientă o linie precum „Comitare inițială”.
Depanare
Pentru depanarea pe Linux, se folosește depanatorul gdb. Dar mai întâi, pentru ca programul să fie convenabil de depanat, trebuie să fie compilat cu opțiunea -g. Acum trebuie doar să schimbăm Makefile pentru a arăta
pătrat: pătrat.c $(CC) -o $@ -lm -g $<
și reconstruiți programul.
În timpul compilării normale, numele funcțiilor, variabilelor etc. nu sunt incluse în fișierul executabil. Opțiunea -g îi spune compilatorului să scrie aceste informații în secțiunea corespunzătoare a fișierului executabil. În plus, cu această opțiune, informațiile despre corespondența offset-urilor și numerelor de linii din fișierul sursă sunt scrise în fișierul executabil.
Depanarea este pornită cu o comandă de genul
gdb ./some-program -a -b
Când porniți depanatorul, apare o linie de comandă ca:
GNU gdb (GDB) 7.2-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. Licență GPLv3+: GNU GPL versiunea 3 sau ulterioară Acesta este un software gratuit: sunteți liber să îl schimbați și să îl redistribuiți. NU ESTE GARANȚIE, în măsura permisă de lege. Tastați „afișați copierea” și „afișați garanția” pentru detalii. Acest GDB a fost configurat ca „i686-linux-gnu”. Pentru instrucțiuni de raportare a erorilor, consultați: ... Citirea simbolurilor din /home/portnov/LUG/src/square...terminat. (gdb)
Lucrul cu depanatorul, în termeni generali, seamănă cu lucrul cu shell-ul de comandă. Introduceți comenzi, depanatorul le execută. Ca și în shell-ul de comandă, finalizarea comenzii folosind tasta Tab funcționează. În plus, pentru concizie, puteți scurta comenzile la primele litere, doar pentru a evita ambiguitatea.
Cele mai frecvent utilizate comenzi includ:
Tipăriți următoarea bucată din codul sursă (sunt tipărite 10 rânduri). Puteți specifica anumite numere de rând după numele comenzii, de exemplu l 10,15.
Rulați programul sub depanator. Programul va rula până la cel mai apropiat punct de întrerupere sau până la sfârșit.
Setați un punct de întrerupere. Numărul liniei pe care doriți să setați punctul de întrerupere este indicat după numele comenzii.
Executați o linie de program.
Evaluați și imprimați expresia. Expresia este specificată după comandă. În acest fel, puteți, de exemplu, să vizualizați valoarea unei variabile o dată.
Adăugați o expresie la lista afișată permanent. Valorile acestor expresii vor fi afișate după executarea fiecărei comenzi. Lângă fiecare expresie este imprimat numărul acesteia din listă. Puteți elimina o expresie din listă folosind comanda undisplay cu numărul expresiei.
Ieșiți din depanator.
Pentru mai multe informații despre GDB, vezi man gdb.
Sistem de ferestre X11
Din punct de vedere istoric, UNIX nu avea și nu putea avea niciun mediu grafic deoarece nu existau afișaje grafice. Mediul grafic pentru UNIX a apărut în perioada în care au apărut afișajele grafice larg răspândite: în 1984. La început a fost numit W (pentru fereastră), apoi a fost îmbunătățit și numit următoarea literă a alfabetului - X, următoarea versiune a fost numită X2 ... Acum avem X11.
X11 este în primul rând un protocol de rețea peste TCP/IP și UDP/IP. Protocolul are un client și un server. Clientul trimite o secvență de solicitări precum „desenează-mi o fereastră”, „desenează un buton pe ea”, iar serverul le execută. Unul dintre principiile principale ale X11 este „definirea mecanismelor, nu politicilor”. Protocolul oferă posibilitatea, de exemplu, de a desena ferestre, dar nu determină exact cum vor fi afișate.
Cel mai comun server X acum este Xorg (http://x.org); XFree86 este încă în viață; Xming este relevant pentru Windows; Sunt produse servere X hardware - kituri „monitor + tastatură + mouse”, în care suportul pentru funcționalitatea serverului X11 este implementat în hardware - astfel de kituri sunt folosite ca terminale grafice.
Protocolul X11, spre deosebire de, să zicem, HTTP, este binar și nu text - acest lucru se face din motive de economisire a lățimii de bandă a conexiunii de rețea și ușurință de analizare a cererilor de către server. Dar acest lucru complică crearea clienților acestui protocol: colectarea cererilor X11 binare complicate este evident mai dificilă decât, de exemplu, solicitările HTTP text. Prin urmare, pentru a scrie X clienți, sunt folosite biblioteci speciale de funcții care generează și trimit X cereri către server. Cea mai comună bibliotecă este libX11. O opțiune mai modernă este libxcb.
Interogările X11 au un nivel destul de scăzut. De exemplu, pentru a implementa funcționalitatea unui buton, trebuie să desenați un dreptunghi în fereastră, să scrieți text în el, să așteptați în buclă să fie apăsat butonul mouse-ului și, cu fiecare clic, verificați dacă clicul a fost în interior sau în exterior. dreptunghiul. Prin urmare, au început să apară așa-numitele truse de instrumente - biblioteci care sunt pachete de nivel înalt peste libX11.
Din punct de vedere istoric, primul set de instrumente a fost Athena3D. Apoi au fost Motif și Tk. Acum, cele mai obișnuite sunt GTK+ și Qt (Qt, strict vorbind, nu este un set de instrumente X11, ci un set de biblioteci multi-platformă, care poate fi folosit ca un set de instrumente X11).
Bună, lume pe GTK+
Ca exemplu, luați în considerare următorul program. Afișează o fereastră cu un singur buton. Când faceți clic pe acest buton, apare mesajul „Bună ziua, lume”.
#include
// Această funcție afișează dialogul de mesaje.
// parametrul main_window ar trebui setat la fereastra părinte a dialogului.
void mesaj_box (GtkWindow* main_window, gchar *message) (
GtkWidget *dialog, *label, *content_area;
// Creați un dialog
dialog = gtk_dialog_new_with_buttons(„Mesaj”,
fereastra principala,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK,
GTK_RESPONSE_NONE,
NUL);
// Creați o etichetă
content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
label = gtk_label_new(mesaj);
// La semnalul „răspuns” (este numit atunci când utilizatorul face clic pe un buton în
// dialogul), distruge dialogul.
g_signal_connect_swapped(dialog,
"raspuns"
G_CALLBACK (gtk_widget_destroy),
dialog);
//Adăugați o etichetă
gtk_container_add(GTK_CONTAINER(content_area), label);
// Afișează dialogul
gtk_widget_show_all(dialog);
}
// Apel invers pentru semnalul de ștergere a evenimentului
static gboolean delete_event(GtkWidget *widget,
GdkEvent *eveniment,
date gpointer)
{
// Dacă returnează TRUE, fereastra nu va fi închisă.
// Acesta poate fi folosit pentru a preveni închiderea ferestrei în unele situații.
returnează FALSE;
}
// Apel invers pentru semnal de distrugere
distrugere static void (GtkWidget *widget,
date gpointer)
{
// Încheiați bucla principală de evenimente GTK+
gtk_main_quit();
}
// Apel invers pentru clic pe buton
static void salut (GtkWidget *widget,
date gpointer)
{
// Parametrul „date” reprezintă aici fereastra principală
mesaj_box(GTK_WINDOW(date), "Bună ziua, lume!");
}
int main(int argc,
char *argv)
{
GtkWidget *fereastră;
GtkWidget *buton;
// Inițiază GTK+
gtk_init(&argc, &argv);
// Creați fereastra principală
fereastra = gtk_window_new(GTK_WINDOW_TOPLEVEL);
// Configurați apeluri inverse pentru unele semnale
g_signal_connect(fereastră, „delete-event”,
G_CALLBACK (delete_event), NULL);
G_signal_connect(fereastră, „distruge”,
G_CALLBACK (distruge), NULL);
// Setați lățimea marginilor ferestrei
gtk_container_set_border_width(GTK_CONTAINER(fereastră), 10);
// Creați un buton etichetat
button = gtk_button_new_with_label("Bună lume");
// Configurați apel invers pentru semnalul „clic” al butonului.
// Treceți fereastra principală ca al doilea parametru.
g_signal_connect (buton, „clic”, G_CALLBACK (bună), (gpointer) fereastră);
// Împachetați butonul în fereastră
gtk_container_add(GTK_CONTAINER(fereastră), buton);
// Afișează butonul
gtk_widget_show(button);
// Afișează fereastra
gtk_widget_show(fereastra);
// Rulați bucla principală de evenimente GTK+.
gtk_main();
Acest program este asamblat cu o comandă a formularului
gcc -o gtk-hello $(pkg-config --cflags gtk+-2.0) $(pkg-config --libs gtk+-2.0) gtk-hello.c
literatură suplimentară
Raymond, Eric S. Arta programarii pentru UNIX. - Per. din engleza - M.: Editura Williams, 2005. - 544 p., ill.
Kernighan B., Pike R. UNIX. Mediu software — Traducere din engleză - Sankt Petersburg: Simbol-Plus, 2003. - 416 p., ill.
Kernighan B., Ritchie D. Limbajul de programare C. - Trans. din engleza - Moscova: Williams, 2006. - 304 p.
Linux evoluează rapid și devine mai popular, mai ales că utilizarea Windows scade și mulți programatori lucrează pentru a avansa Linux prin crearea de noi programe desktop care sunt echivalente sau chiar mai bune decât aplicațiile pe Windows și Mac OS X.
Un număr mare de distribuții încearcă să facă Linux mai ușor pentru noii utilizatori care au folosit anterior Linux sau Mac OS X. Acest lucru ajută și mai mult să promoveze Linux în masă.
Există multe limbaje de programare pentru Linux și, în plus, apar altele noi în fiecare an. Dar nu toți programatorii le folosesc, deoarece pentru a crea o aplicație fiabilă, flexibilă, eficientă și extensibilă și, cel mai important, sigură, trebuie să alegeți limba potrivită.
În acest articol ne vom uita la cele mai populare limbaje de programare pentru Linux. Să luăm în considerare cele pe care este dezvoltat acest sistem de operare și cele care sunt folosite pentru a crea aplicații. Lista nu este de fapt sortată după importanță, toate limbile folosite aici sunt bune. Toate sunt multi-platformă și puteți scrie un program pe ele pentru oricare dintre sistemele de operare disponibile.
Nu exagerez dacă spun că acest limbaj a fost creat pentru acest sistem de operare. Aceasta este deja o limbă veche. A fost creat în anii șaptezeci de un inginer de la Bell Labs special pentru a scrie nucleul Unix. Cert este că în acele vremuri, programele și sistemele de operare erau scrise în asamblator și era necesar să se scrie un program pentru fiecare arhitectură separat, deoarece seturile de instrucțiuni erau diferite. Dezvoltatorii Unix aveau nevoie de un limbaj de programare de nivel înalt în care să poată scrie Unix o dată și să-l construiască pentru toate platformele. C a devenit un astfel de limbaj.
Nucleul Linux se bazează pe Unix și, prin urmare, este scris și în C; toate modulele nucleului, driverele, precum și o cantitate imensă de software de sistem sunt, de asemenea, implementate în C. Dacă vă întrebați în ce este scris Linux, acum știți răspunsul. Multe utilitare din setul GNU, un server X, un set de biblioteci pentru lucrul cu grafica GTK și multe altele, unele manageri de ferestre au fost dezvoltate în C. Dar C este folosit din ce în ce mai puțin pentru scrierea de programe noi; a fost înlocuit cu modificarea sa orientată obiectiv C++.
2. C++
Aceasta este o versiune îmbunătățită a C, a apărut nu mult mai târziu decât C. În 1980, Björn Stroustrup lucra la cercetarea sa și nu avea capabilitățile standard C, așa că a venit cu câteva îmbunătățiri. Dintr-o dată, această limbă a devenit populară printre colegii săi și nu a mai putut să-i urmărească el însuși dezvoltarea.
Acum este unul dintre cele mai populare limbaje de programare. Ambele stiluri de programare orientate către obiective și procedurale sunt disponibile aici. Adevărat, este încă foarte dificil pentru începători, la fel ca C. Acest lucru necesită o precizie foarte mare în gestionarea memoriei.
O mulțime de software în Linux este scris în C++, acestea sunt aceleași utilitare GNU, multe programe de utilizator, medii grafice, browsere. Cadrul grafic Qt este scris în C++, care este acum utilizat pentru mediul desktop KDE și un număr mare de programe multiplatformă. Qt este un proiect atât comercial, cât și necomercial. Dacă dezvoltați software gratuit, puteți utiliza Qt gratuit, dar nu, trebuie să plătiți pentru o licență. Qt este mult mai ușor pentru începători decât C sau C++ pur.
C și C++ sunt cele mai populare limbaje de programare pentru Linux
3. Java
Este un limbaj de programare multiplatformă puternic și complet orientat către obiective, care are oportunități ample de a crea aplicații desktop, precum și aplicații de rețea și web.
Java a fost dezvoltat inițial în anii 90 de Sun Microsystems pentru dispozitive încorporate cu putere de procesare scăzută. Pentru telefoane mobile, microcontrolere și alte echipamente. Scopul său a fost să ducă funcționalitatea multiplatformă la următorul nivel. Programul este scris în Java, convertit în cod octet, pe care o mașină Java îl poate executa pe orice hardware, indiferent de arhitectură și capabilități. Apoi Java a început să fie folosit pentru a crea aplicații web în browsere și, prin urmare, au început să fie create aplicații desktop.
Java este unul dintre cele mai bune limbaje de programare, mai ales dacă aveți de gând să dezvoltați aplicații care vor rula peste tot. Java este foarte benefic din punct de vedere al portabilității, poți rula programul pe Windows sau Linux fără modificări și este, de asemenea, mai sigur, deoarece programul rulează într-o mașină virtuală și putem controla toate acțiunile acestuia. Dar dezavantajul este consumul mare de memorie și performanța scăzută în comparație cu C.
Nu sunt multe programe scrise în Java, dar există unele binecunoscute printre ele, cum ar fi mediile de dezvoltare precum Netbeans, Eclipse, InteljIDE. Unii producători de hardware lansează utilitare pentru a-și gestiona hardware-ul în Java, astfel încât să poată funcționa la fel de bine pe Linux. Multe jocuri simple sunt scrise în Java și este, de asemenea, utilizat pe scară largă în sistemul de operare Android.
3.Python
Python este un limbaj interpretat de uz general, la nivel înalt. A fost dezvoltat de un bărbat pe nume Guido Van Rossum la începutul anilor optzeci, a lucrat la limbaj în timpul liber, iar scopul a fost să creeze un limbaj pentru predarea programarii.
Ideea principală a lui Python este simplitatea, viteza maximă de dezvoltare, erori minime, incertitudine minimă. Sintaxa limbii în sine vă ajută să scrieți corect și să evitați greșelile. Acest lucru a făcut din Python una dintre cele mai populare limbi. Multe biblioteci au fost dezvoltate pentru lucrul cu componente de sistem, implementări de algoritmi și seturi API pentru lucrul cu serviciile de rețea. Acum puteți scrie atât un site web, cât și o aplicație Qt cu drepturi depline în Python, dovada primului este multe site-uri, inclusiv Yandex, iar al doilea este popularul editor video OpenShot.
În plus, nenumărate scripturi de sistem și utilitare pentru gestionarea Linux au fost scrise în Python. Acesta este utilitarul potrivit pentru instalarea de software în Ubuntu, managerul de pachete Emerge în Gentoo și un număr mare de scripturi mici. Motivul pentru aceasta este simplitatea limbajului. Programatorul petrece câteva ore pe program și funcționează perfect câțiva ani.
4. JavaScript / GitHub Electron
JavaScript este în primul rând un limbaj de programare pentru crearea de pagini web dinamice, dezvoltat special în acest scop la mijlocul anilor 90 de Brendan Eich la Netscape. Până de curând, JavaScript a fost folosit pentru a genera pagini web dinamice pe partea clientului și în aplicațiile web. Dar apoi a apărut proiectul Node.js, care vă permite să dezvoltați programe server în JavaScript. Cel mai recent, GitHub a creat cadrul Electron, bazat pe Node.js, cu care JavaScript poate fi acum folosit pentru a crea aplicații desktop.
Electron vă permite să utilizați tehnologii HTML, CSS, JavaScript pentru a crea programe desktop frumoase. Această platformă este întreținută activ de echipa și comunitate GitHub.
Deși platforma a fost lansată abia recent, pe ea au fost deja scrise până la sute de aplicații, printre cele mai cunoscute se numără editorii de cod similari Atom și LightTable, precum și aplicația de gestionare a site-urilor WordPress și noua aplicație de chat RocketCaht. În plus, JavaScript este folosit pentru a dezvolta programe desktop pe platforma Chromium, există mult mai multe astfel de programe, același editor Brackets, astfel de utilități utile precum Google Keep, Pocket, Wunderlist și alte programe din magazinul Chrome.
5.Cochilie
Comenzile terminalelor Linux nu numai că vă permit să efectuați operațiuni de zi cu zi în mod interactiv, dar este și un limbaj de programare cu drepturi depline, cu suport pentru constructe de control foarte simple. Cel mai obișnuit shell este Bash (Bourne Again Shell). Majoritatea scripturilor sunt scrise în sintaxa sa, dar există și altele, de exemplu, același fish, sh, zsh, dash etc.
Sintaxa constructelor de control Bash este puțin greu de înțeles, dar multe scripturi de sistem sunt scrise în ea, în primul rând, toate scripturile pentru inițializarea demonilor în SysVinit, scripturile pentru întreținerea serverelor, backup-urile, rularea programelor etc. Fiecare administrator are mai multe scripturi scrise în Bash.
concluzii
Acestea nu sunt toate limbaje de programare Linux care sunt folosite pentru a crea programe în Linux; Ruby a început recent să fie folosit pentru a crea scripturi; Perl este deja demodat; limbaje de programare mai specifice, cum ar fi Go, R, Vala iar altele sunt de asemenea folosite. Pentru nevoile mele folosesc Python și php și scrieți programe pentru Linux? Ce limbaje de programare? Scrieți în comentarii!
Acest tutorial continuă prezentarea noastră de ansamblu asupra platformei Eclipse Rich Client. Acesta arată cum să utilizați vizualizările, acțiunile și vrăjitorii pentru a crea o aplicație completă.
Pasul 1 - Compilarea programelor în C/C++ (30/01/2002 - 2 Kb)
Pasul 2 - Informații de depanare (30.01.2002 - 4,2 Kb)
Pasul 3 - Compilarea mai multor fișiere (15/02/2002 - 3,7 Kb)
Pasul 4 - Biblioteci de fișiere obiect (20/02/2002 - 3,0 Kb)
Pasul 5 - Crearea unei biblioteci statice (20/02/2002 - 3,7 Kb)
Pasul 6 - Crearea unei biblioteci dinamice (20/02/2002 - 5,2 Kb)
Pasul 7 - Utilizarea bibliotecilor dinamice (23/02/2002 - 4,9 Kb)
Pasul 8 - Funcții pentru lucrul cu biblioteci dinamice (23/02/2002 - 5,0 Kb)
Pasul 9 - Inițializarea bibliotecilor dinamice (27/02/2002 - 3,5 Kb)
Pasul 10 - Trecerea opțiunilor către program - getopt (15/10/2002 - 6,6 Kb)
Pasul 11 - Trecerea opțiunilor lungi programului - getopt_long (19/12/2002 - 11,2 Kb)
Pasul 12 - Afișarea mesajelor de eroare ale programului (22/12/2002 - 7,5 Kb)
Pasul 13 - Obținerea informațiilor despre utilizator (22/12/2002 - 10,2 Kb)
Pasul 14 - Preluarea datelor din parola umbră (22/12/2002 - 5,5 Kb)
Pasul 15 - Lucrul cu parolele de sistem folosind funcția crypt() (24/12/2002 - 10,0 Kb)
Instrumentele grafice sunt biblioteci de rutine care vă permit să adăugați un set specific de funcții, utilizând limbajul de programare să integreze o interfață grafică în programul dumneavoastră.
GCC
GCC este un compilator grozav, dar pagina de manual nu este foarte ușor de utilizat. Nota vorbește despre ușurința de utilizare a compilatorului.
Asamblator
Limbajul Shell
Interpret pentru limbajul de comandă Shell
Aceeași carte, dar în format text.
Expresiile regulate sunt cel mai puternic instrument de lucru cu șiruri pe care programatorii moderni l-ar putea inventa. Cu ajutorul lor, puteți analiza șirurile pentru conținutul secvențelor de caractere, puteți face înlocuiri pe baza acestei selecții, puteți împărți șirurile în matrice și multe altele.
Limbajul C și C++
Utilitarele Make, cum ar fi GNU make, System V make și Berkeley make, sunt instrumente fundamentale necesare pentru a simplifica procesul de construire a aplicațiilor. Acest articol vă va prezenta structura unui makefile.
Acest articol descrie cum să configurați un mediu de dezvoltare pentru microcontrolere Atmel AVR pe 8 biți.
Pascal și Delphi
limbajul Java
limbaj JavaScript
Să continuăm conversația despre utilizarea scripturilor pe paginile web. Și probabil că vom începe prin a scrie câteva funcții care ne vor fi foarte utile mai târziu.
Limbajele de scripting au dat într-un fel lumea peste cap și datorită lor a apărut DHTML, care vă permite să faceți aproape orice cu o pagină. După cum știți, doar două limbi pretind că sunt câștigătoare în browser. Acesta este VBScript - un subset de Visual Basic și JavaScript. Acesta este ultimul cu care ne vom ocupa, deoarece este cel mai universal.
Perl
Copie
Acest articol are scopul de a ajuta la obținerea unui „pornire rapidă” pentru cei care au decis să construiască aplicații web „cu propriile mâini” și au ales limbajul de programare Perl (Practical Electric Rubbish Lister) ca mijloc de creare a acestora.
PHP
În acest tutorial, veți învăța cum să utilizați PHP pentru a crea o aplicație activată pentru fluxul de lucru, veți afla despre autentificarea HTTP, fluxurile de date, crearea obiectelor și gestionarea excepțiilor.
În acest tutorial, veți învăța cum să utilizați PHP pentru a crea o aplicație care acceptă fluxul de lucru.
În acest tutorial, veți învăța cum să utilizați PHP pentru a crea o aplicație de bază pentru fluxul de lucru, pentru a construi pagini PHP folosind formulare HTML și pentru a accesa baze de date.
„Partea I
„Partea a II-a
„Partea a III-a „Top 21 PHP progamming mistakes” de Sterling Hughes, 14 ianuarie 2001 http://www.zend.com/zend/art/mistake2.php, Traducere: Danil Mironov.
„Scriem cod PHP care este rezistent la erori”
Acest articol dintr-o serie dedicată „construirii site-ului” modern vorbește despre popularul sistem MySQL și limbajul de programare PHP, cum pot fi utilizate pentru a rezolva problemele cu care se confruntă orice dezvoltator de site-uri de internet - pregătirea și afișarea știrilor, introducerea și afișarea informațiilor text, căutare pe site, organizare de servicii suplimentare („recunoașterea” vizitatorului, forumuri, sondaje etc.). Ambele instrumente sunt gratuite și furnizate de toți furnizorii de găzduire fără excepție.
Partea 1. Prima cunoaștere cu PHP și MySQL
Partea 2. Există știri peste tot, dar cum să le introduceți și să le afișați?
Partea 3. Articole pentru site
Partea 4. Servicii suplimentare