Erityiset ohjelmointikielet. Mitkä ovat eri ohjelmointikielet?

Tarvitsemmeko todella uusia ohjelmointikieliä? Tällä hetkellä niitä on tietysti ihan riittävästi. Monien pakottavien, toiminnallisten, oliosuuntautuneiden, dynaamisten, käännettyjen, tulkittujen ja komentosarjakielien joukossa yksikään kehittäjä ei voi ymmärtää kaikkia nykyään saatavilla olevia ominaisuuksia.

Ja silti uusien kielten syntyminen on melko yleistä. Jotkut ovat opiskelijoiden tai harrastajien luomia yksittäisinä projekteina, toiset ovat suurten ohjelmistovalmistajien tuotteita. Jopa pienet ja keskisuuret yritykset osallistuvat tähän prosessiin luoden kieliä toimialojensa tarpeisiin. Joten miksi ihmiset keksivät pyörää uudelleen ja uudelleen?

Tosiasia on, että tällä hetkellä suosittujen kielten voimasta ja monipuolisuudesta huolimatta yksikään syntaksi ei ole ihanteellisesti universaali. Lisäksi ohjelmointi itsessään kehittyy jatkuvasti. Moniytimisprosessorien nousu, pilviohjelmointi, liikkuvuus ja hajautetut arkkitehtuurit ovat luoneet uusia haasteita kehittäjille. Uusimpien ominaisuuksien, paradigmojen ja mallien tuen lisääminen olemassa oleviin kieliin, erityisesti suosituimpiin, voi olla ylivoimaista. Joskus paras ratkaisu on aloittaa alusta.

Tässä on siis 10 huippuluokan ohjelmointikieltä, joista jokainen tarkastelee ohjelmistokehityksen taidetta uudesta näkökulmasta, ratkaisemalla tietyn ongelman tai erityisen puutteen nykyään suosituimmista kielistä. Jotkut niistä ovat jo valmiita projekteja, kun taas toiset ovat vasta kehitysvaiheessa. On todennäköistä, että jotkut niistä eivät koskaan saavuta suosiota, mutta mikä tahansa niistä voi olla vallankumouksellinen saavutus, joka muuttaa ohjelmoinnin täysin - ainakin siihen asti, kunnes uusia kieliä luodaan.

JavaScript sopii hyvin perusvuorovaikutteisuuden lisäämiseen web-sivuille, mutta kun verkkosovelluksissasi on tuhansia koodirivejä, kielen heikkoudet tulevat havaittaviksi. Siksi Google loi Dartin, kielen, josta yhtiö uskoo tulevan verkko-ohjelmoinnin uusi "natiivikieli".

Kuten JavaScript, myös Dart käyttää C-kielessä käytettyjä syntakseja ja avainsanoja. Yksi merkittävä ero on kuitenkin se, että vaikka JavaScript perustuu prototyyppeihin, objektit määritellään luokkien ja käyttöliittymien avulla, kuten C++:ssa tai Javassa. Dart sallii myös ohjelmoijien määrittää valinnaisesti muuttujia staattisilla tyypeillä. Ajatuksena on tehdä Dartista yhtä tuttu, dynaaminen ja joustava kieli kuin JavaScript, samalla kun kehittäjät voivat kirjoittaa koodia, joka on nopea, helppo suorittaa ja josta on vaikea tehdä vaikeasti havaittavia virheitä.

Dart ei ole laajalti käytössä nykyään. Se on suunniteltu toimimaan joko asiakkaalla tai palvelimella (a la Node.js), mutta ainoa tapa käyttää Dart-koodin asiakasversiota on ristiin kääntää se JavaScriptiksi. Se ei kuitenkaan toimi tämän jälkeen kaikissa selaimissa. Mutta koska Dart julkaistaan ​​ilmaisella BSD-tyyppisellä lisenssillä, kaikki Googlen ehdot hyväksyvät myyjät voivat vapaasti käyttää kieltä tuotteissaan. Googlella ei ole enää muuta kuin vakuuttaa koko ala.

F#-koodi on hieman samanlainen kuin OCaml-koodi, mutta sillä on oma mielenkiintoinen syntaksi. Esimerkiksi tieteellisten laskelmien helpottamiseksi numeeriset tietotyypit F#:ssa voivat olla mittayksiköitä. F# sisältää myös rakenteita, jotka helpottavat asynkronista I/O:ta, CPU-rinnakkaisua ja GPU-lähtöä.

Pitkän Microsoft Researchin raskausajan jälkeen F# toimitetaan nyt Visual Studio 2010:n kanssa. Vielä parempi, mutta ei tyypillistä yritykselle, Microsoft on luonut F#-kääntäjän ja juurikirjaston, jotka ovat saatavilla Apachen avoimella lisenssillä. Voit aloittaa sen käytön ilmaiseksi ja jopa käyttää sitä Mac- ja Linux-järjestelmissä (käyttäen Mono-ajoaikaa).

Luonnollisesti tällaisessa integroidussa järjestelmässä lopulta täytyy tapahtua jotain taianomaista. Opa-ajonaika integroi oman web-palvelimen ja tietokannan hallintajärjestelmän, jota ei voi korvata erillisillä vaihtoehdoilla. Oli miten oli, tämä ei ehkä ole niin iso juttu, kun otetaan huomioon kyky kehittää nykyaikaisia ​​tietopohjaisia ​​verkkosovelluksia vain muutamalla kymmenellä koodirivillä. Opa on ilmainen, ja se on tällä hetkellä saatavilla 64-bittisille Linux- ja Mac OS X -alustoille, ja muita portteja kehitetään.

Fantomia jaetaan ilmaiseksi Academic Free License 3.0 -lisenssillä ja se on saatavilla Windows- ja Unix-tyyppisille alustoille (mukaan lukien Mac OS X).

Ohjelmointikieli Explored #7: Zimbu

Sekalaisen luonteensa ansiosta Zimbun syntaksi on ainutlaatuinen ja spesifinen, mutta samalla siinä on paljon toimintoja. Se käyttää lausekkeita ja operaattoreita, jotka ovat samanlaisia ​​kuin C:ssä, mutta omilla avainsanoillaan, tietotyypeillään ja lohkorakenteillaan. Se tukee muistin hallintaa, säikeitä ja liukuputkia.

Ainoa ongelma on siirrettävyys. Vaikka Zimbu on käännetty kieli, sen kääntäjä tuottaa ANSI C -koodia, ja binääriä voidaan rakentaa vain alustoihin, joissa on sisäänrakennettu C-kääntäjä.

Valitettavasti Zimbu-projekti on kehitteillä. Kääntäjä ja muutama esimerkkiohjelma voidaan luoda itse, mutta kaikki varsinainen Zimbu-koodi ei käänny ja toimi kunnolla. Kaikkia ilmoitettuja toimintoja ei ole vielä kehitetty, ja jotkin jo esitetyistä eivät toimi oikein. Kielimääritykset voivat myös muuttua ajan myötä lisäämällä avainsanoja, tyyppejä ja syntaksia tarpeen mukaan. Tästä syystä myös dokumentaatio on edelleen epätäydellinen. Kuitenkin, jos haluat kokeilla sitä, alustavat apuohjelmat ovat jo saatavilla Apache-lisenssillä.

Tutkittu ohjelmointikieli #8: X10

Rinnakkaiskäsittely oli aikoinaan ohjelmistokehityksen erikoistunut markkinarako, mutta moniytimisprosessorien ja hajautetun tietojenkäsittelyn myötä rinnakkaisuus on saavuttanut suosiota. Valitettavasti nykyiset ohjelmointikielet eivät ole pysyneet tämän trendin mukana. Siksi IBM Research luo X10:n, kielen, joka on suunniteltu erityisesti nykyaikaisille rinnakkaisarkkitehtuureille ja jonka tavoitteena on kymmenkertaistaa kehittäjien tuottavuus.

Samanaikaisuus X10:ssä on mahdollista PGAS (Partitioned Global Address Space) -ohjelmointimallin ansiosta. Koodi ja data allokoidaan lohkoihin ja jaetaan eri "tiloihin", mikä helpottaa ohjelman skaalaamista yksisäikeisestä prototyypistä (yksi välilyönti) monisäikeiseen, joka toimii yhdellä tai useammalla moniytimisellä prosessorilla (useita välilyöntejä) korkean suorituskyvyn klusteri.

X10-koodi muistuttaa eniten Javaa. Pohjimmiltaan X10-ajoaika on saatavana sekä sisäänrakennetuina suoritettavina tiedostoina että luokkatiedostoina JVM:lle. X10-kääntäjä voi tuottaa lähdekoodia joko C++- tai Java-kielellä. Suunnitelmissa on kehittää suoraa yhteensopivuutta Javan kanssa tulevaisuudessa.

Sillä välin kieli kehittyy, vaikka se on jo melko kehittynyt. Kääntäjä ja suoritusaika ovat saatavilla useille alustoille, mukaan lukien Linux, Mac OS X ja Windows. Muita apuohjelmia ovat Eclipse-pohjainen interaktiivinen kehitysympäristö (IDE) ja debuggeri, jotka molemmat on lisensoitu Eclipse Public License -lisenssillä.

Tutkittu ohjelmointikieli #9: haXe

Monia kieliä voidaan käyttää kannettavan koodin kirjoittamiseen. C-kääntäjät ovat saatavilla melkein kaikille suoritinarkkitehtuureille, ja Java-tavukoodi toimii kaikkialla, missä on JVM. Mutta haXe (lausutaan hex) on enemmän kuin vain kannettava. Se on monikäyttöinen kieli, jota voidaan käyttää useissa käyttöympäristöissä sulautetuista

Tietokoneiden käyttöönotto kaikilla ihmisen toiminnan aloilla vaatii eri profiilien asiantuntijoita hallitsemaan tietotekniikan käyttötaidot. Yliopisto-opiskelijoiden koulutustaso nousee, ja he tutustuvat ensimmäisestä vuodesta lähtien tietokoneiden käyttöön ja yksinkertaisiin numeerisiin menetelmiin, puhumattakaan siitä, että työselostus- ja diplomiprojekteja tehtäessä tietotekniikan käyttö on yleistymässä. valtaosa yliopistoista.

Tietotekniikkaa käytetään nykyään paitsi teknisissä laskelmissa ja taloustieteissä myös sellaisilla perinteisesti ei-matemaattisilla erikoisaloilla kuin lääketiede, kielitiede ja psykologia. Tältä osin voidaan todeta, että tietokoneiden käyttö on yleistynyt. On syntynyt suuri joukko asiantuntijoita - tietokoneen käyttäjiä, jotka tarvitsevat tietoa tietokoneiden käytöstä omalla alallaan - taitoja työskennellä olemassa olevien ohjelmistojen kanssa sekä luoda omia ohjelmistoja, jotka on mukautettu ratkaisemaan tiettyä ongelmaa. Ja tässä ohjelmointikielten kuvaukset tulevat käyttäjän avuksi.

2. Mikä on ohjelmointikieli

Ohjelmointikieli- muodollinen merkkijärjestelmä, joka on suunniteltu kuvaamaan algoritmeja esittäjälle sopivassa muodossa (esimerkiksi tietokone). Ohjelmointikieli määrittelee joukon leksikaalisia, syntaktisia ja semanttisia sääntöjä, joita käytetään tietokoneohjelman laatimiseen. Sen avulla ohjelmoija voi määrittää tarkalleen, mihin tapahtumiin tietokone reagoi, kuinka tiedot tallennetaan ja siirretään ja mitä toimia sille tulisi suorittaa eri olosuhteissa.

Ensimmäisten ohjelmoitavien koneiden luomisen jälkeen ihmiskunta on jo keksinyt yli kaksi ja puoli tuhatta ohjelmointikieltä. Joka vuosi niiden lukumäärää täydennetään uusilla. Joitakin kieliä käyttää vain pieni joukko omia kehittäjiään, kun taas toiset tulevat miljoonien ihmisten tutuiksi. Ammattiohjelmoijat käyttävät joskus työssään yli tusinaa eri ohjelmointikieltä.

Kielentekijät tulkitsevat käsitteen eri tavalla ohjelmointikieli. Useimpien kehittäjien tunnistamia yhteisiä kohtia ovat seuraavat:

· Tehtävä: Ohjelmointikieli on tarkoitettu tietokoneohjelmien kirjoittamiseen, joiden avulla tietokoneelle lähetetään käskyjä tietyn laskentaprosessin suorittamiseksi ja yksittäisten laitteiden ohjauksen järjestämiseksi.

· Tehtävä: Ohjelmointikieli eroaa luonnollisista kielistä siinä, että se on suunniteltu siirtämään käskyjä ja tietoja henkilöltä tietokoneelle, kun taas luonnollisia kieliä käytetään vain ihmisten kommunikointiin. Periaatteessa voimme yleistää "ohjelmointikielten" määritelmän - tämä on tapa lähettää komentoja, käskyjä, selkeää toimintaohjetta; kun taas ihmisten kielet palvelevat myös tiedon vaihtoa.

· Toteutus: Ohjelmointikieli voi käyttää erityisiä rakenteita tietorakenteiden määrittelemiseen ja käsittelemiseen sekä laskentaprosessin ohjaamiseen.

3. Ongelmanratkaisun vaiheet tietokoneella.

VT on löytänyt tehokkaimman sovelluksensa työvoimavaltaisten laskelmien suorittamisessa tieteellisessä tutkimuksessa ja teknisissä laskelmissa. Kun ratkaistaan ​​ongelma tietokoneella, päärooli on edelleen henkilöllä. Kone suorittaa tehtävänsä vain kehitetyn ohjelman mukaisesti. Ihmisen ja koneen rooli on helppo ymmärtää, jos ongelman ratkaisuprosessi jaetaan alla lueteltuihin vaiheisiin.

Ongelman muotoilu. Tämä vaihe koostuu ongelman järkevästä (fyysisestä) muotoilusta ja lopullisten ratkaisujen määrittämisestä.

Matemaattisen mallin rakentaminen. Mallin tulee kuvata oikein (riittävästi) fyysisen prosessin peruslait. Matemaattisen mallin rakentaminen tai valitseminen olemassa olevista edellyttää syvällistä ongelman ymmärtämistä ja asianmukaisten matematiikan alojen tuntemusta.

MM-kisojen kehitys. Koska tietokone pystyy suorittamaan vain yksinkertaisimpia operaatioita, se "ei ymmärrä" ongelman muotoilua edes matemaattisena muotoiluna. Sen ratkaisemiseksi on löydettävä numeerinen menetelmä, joka mahdollistaa ongelman pelkistämisen johonkin laskenta-algoritmiin. Jokaisessa yksittäistapauksessa on tarpeen valita sopiva ratkaisu jo kehitetyistä standardiratkaisuista.

Algoritmin kehittäminen. Ongelmanratkaisuprosessi (laskentaprosessi) kirjoitetaan lopputulokseen johtavana aritmeettisten ja loogisten perusoperaatioiden sarjana ja sitä kutsutaan ongelmanratkaisualgoritmiksi.

Ohjelmointi. Algoritmi ongelman ratkaisemiseksi on kirjoitettu koneellisesti ymmärrettävällä kielellä tarkasti määritellyn toimintosarjan - ohjelman - muodossa. Prosessi suoritetaan yleensä jollain välikielellä, ja sen kääntämisen suorittaa kone itse ja sen järjestelmä.

Ohjelman säätö. Käännetty ohjelma sisältää erilaisia ​​virheitä, epätarkkuuksia ja kirjoitusvirheitä. Virheenkorjaus sisältää ohjelman valvonnan, virheiden diagnosoinnin (haun ja sisällön määrittämisen) ja niiden poistamisen. Ohjelmaa testataan ratkaisemalla ohjaus (testi) -ongelmia, jotta saadaan luottamus tulosten luotettavuuteen.

Laskelmien suorittaminen. Tässä vaiheessa laaditaan lähtötiedot laskelmia varten ja laskelmat suoritetaan vakiintuneella ohjelmalla. Samaan aikaan käsityön vähentämiseksi tulosten käsittelyssä voidaan käyttää laajasti käteviä tulosten antamisen muotoja tekstin ja graafisen tiedon muodossa, ihmisille ymmärrettävässä muodossa.

Tulosten analyysi. Laskentatulokset analysoidaan huolellisesti ja laaditaan tieteellinen ja tekninen dokumentaatio.

4. Mitä varten ohjelmointikielet ovat?

Tietokoneen toimintaprosessi koostuu ohjelman suorittamisesta, eli joukosta hyvin erityisiä komentoja tietyssä järjestyksessä. Ohjeen konemuoto, joka koostuu nollista ja ykkösistä, kertoo tarkalleen, mitä toimintoa keskusprosessorin tulee suorittaa. Tämä tarkoittaa, että antaaksesi tietokoneelle toimintosarjan, joka sen on suoritettava, sinun on määritettävä vastaaville komennoille binäärikoodisarja. Konekoodiohjelmat koostuvat tuhansista käskyistä. Tällaisten ohjelmien kirjoittaminen on vaikeaa ja työlästä tehtävää. Ohjelmoijan tulee muistaa kunkin ohjelman binäärikoodin nollien ja ykkösten yhdistelmä sekä sen suorittamisessa käytettyjen dataosoitteiden binäärikoodit. On paljon helpompaa kirjoittaa ohjelma jollain kielellä, joka on lähempänä luonnollista ihmisen kieltä, ja uskoa tämän ohjelman kääntäminen konekoodeiksi tietokoneelle. Näin syntyivät kielet, jotka on suunniteltu erityisesti ohjelmien kirjoittamiseen - ohjelmointikielet.

Saatavilla on monia erilaisia ​​ohjelmointikieliä. Itse asiassa voit käyttää mitä tahansa niistä useimpien ongelmien ratkaisemiseen. Kokeneet ohjelmoijat tietävät, mitä kieltä on paras käyttää kunkin ongelman ratkaisemiseen, koska jokaisella kielellä on omat kykynsä, suuntautuminen tietyntyyppisiin ongelmiin ja oma tapansa kuvata ongelmien ratkaisemisessa käytettyjä käsitteitä ja esineitä.

Kaikki monet ohjelmointikielet voidaan jakaa kahteen ryhmään: matalan tason kieliä Ja korkean tason kieliä.

Matalan tason kielet sisältävät kokoonpanokielet (englannin kielestä toassemble - assemble, assemble). Kokoonpanokieli käyttää symbolisia komentoja, jotka on helppo ymmärtää ja nopeasti muistaa. Komentojen binäärikoodien sarjan sijasta kirjoitetaan niiden symboliset nimitykset, ja komentoa suoritettaessa käytettävien tietojen binääriosoitteiden sijaan kirjoitetaan ohjelmoijan valitsemat symboliset nimet näille tiedoille. Assembly-kieltä kutsutaan joskus muistokoodiksi tai autokoodiksi.

Useimmat ohjelmoijat käyttävät korkean tason kieliä ohjelmien kirjoittamiseen. Kuten tavallisella ihmiskielellä, sellaisella kielellä on omat aakkoset - kielessä käytettyjen symbolien joukko. Näistä symboleista muodostuu kielen niin sanotut avainsanat. Jokainen avainsanoista suorittaa oman tehtävänsä, aivan kuten tutussa kielessämme tietyn kielen aakkosten kirjaimista koostuvat sanat voivat suorittaa puheen eri osien tehtäviä. Avainsanat linkitetään yhteen lauseiksi kielen tiettyjen syntaktisten sääntöjen mukaisesti. Jokainen lause määrittelee tietyn toimintosarjan, joka tietokoneen on suoritettava.

Korkean tason kieli toimii välittäjänä ihmisen ja tietokoneen välillä, jolloin ihminen voi kommunikoida tietokoneen kanssa ihmisille tutulla tavalla. Usein tällainen kieli auttaa valitsemaan oikean menetelmän ongelman ratkaisemiseksi.

Ennen kuin kirjoitat ohjelman korkean tason kielellä, ohjelmoijan on kirjoitettava algoritmi ongelman ratkaiseminen, toisin sanoen vaiheittainen toimintasuunnitelma, joka on suoritettava tämän ongelman ratkaisemiseksi. Siksi usein kutsutaan kieliä, jotka vaativat alustavan algoritmin kokoamisen algoritmiset kielet.

Aloittelijoilta se kuulostaa tältä: "Millä kielellä minun pitäisi aloittaa?" Kutsuimme asiantuntijamme vastaamaan.

Kaikki riippuu siitä, minkä alueen valitset. Jos haluat työskennellä suoraan laitteiston kanssa, kirjoittaa ohjaimia ja erilaisia ​​sovelluksia, jotka vaativat maksimaalista suorituskykyä, vain C tai C++ kelpaa. Jos tavoitteenasi on sovellukset matkapuhelimiin, kannattaa opetella Java tai Objective C, C#. Web-palvelimet vaativat go, python ja php; verkkosovelluksille - JavaScript.

Jos et ole vielä päättänyt aluetta, voit turvallisesti valita C/C++:n, sillä tämän kielen osaaminen oppii helposti minkä tahansa muun kielen. On vain yksi asia, joka on tärkeää muistaa: kuten puhuttu kieli, myös ohjelmointikieli unohdetaan, jos sitä ei käytetä jatkuvasti, joten on parempi puhua yhtä tai kahta kieltä kuin pinnallinen osaaminen suuri numero.

Mielestäni oikea ohjelmoija ei ole koskaan rajoittunut vain yhden kielen tuntemiseen. Ja vaikka aiot tulevaisuudessa kirjoittaa ohjaimia ja järjestelmäsovelluksia, tarvitset silti jonkin komentosarjakielistä, kuten perl tai python. Lisäksi komentosarjakielten tuntemus on nyt yksinkertaisesti välttämätöntä jokaiselle ohjelmoijalle erikoistumisestaan ​​​​huolimatta.

Mainosta Alennusta

Python sopii hyvin yleisten ohjelmointikäsitteiden oppimiseen. Se on erittäin suosittu kieli, sillä on monia kirjastoja, syntaksi on helppolukuinen ja koodi on melko siisti. Pythonin tärkeimmät edut aloittelijoille ovat, että se on melko yleinen ja helppo oppia. Voit kirjoittaa siihen helposti sekä verkkosovelluksia että tavallisia työpöytäsovelluksia. Aihealueesta riippuen sinun on valittava oliokieli. Jos esimerkiksi teet järjestelmäohjelmointia, C++ on paras. Jos olet kehittämässä yrityssovellusta (yritystietojärjestelmiä), tämä on C# tai Java.

Mainosta Alennusta

Kerran aloitin Fortranilla ja Pascalilla, koska minulla oli ne instituutissa. Sitten oli C/C++, Visual Basic Script, PHP ja Visual Basic, sitten C#, sitten vähän F#.

Kokemukseni ja valinnanvarani perusteella minulla oli mukavinta kehittyä C#:ssa, ja siitä aloittaisin. Ennen kaikkea sen käyttöjärjestelmän algoritmien ja toimintamekanismien ymmärtämisen kannalta, jota varten kirjoitin, C++ antoi minulle.

Mainosta Alennusta

Mielestäni paras paikka aloittaa oppiminen on JavaScript. Verkkoselaimien ansiosta tämä ohjelmointikieli on de facto standardi verkkosovellusten luomiseen, joka on yksi nopeimmin kasvavista kehitysalueista. Siitä on myös erinomainen ilmainen kirja, "Eloquent JavaScript", käännetty venäjäksi.

Mainosta Alennusta

Kaikki riippuu ongelmasta, jonka haluat ratkaista. Jos tämä on kuitenkin ensimmäinen kielesi, suosittelen vahvaa yleiskieltä (C++, Java, .NET): et missään tapauksessa eksy niiden kanssa ja on helppo vaihtaa toiseen. Toinen mielenkiintoinen tapa selvittää, mitä kieltä opiskella, on mennä GitHubiin, etsiä kiinnostavaa aihetta ja nähdä, mitä muut kehittäjät kirjoittavat.

Mainosta Alennusta

, Microsoftin teknologiaevankelista, MIPT:n apulaisprofessori, MAI, opettaja JUNIO-R-lastenleirissä

Kaikki riippuu iästä. Jos päätät todella oppia ohjelmoinnin nuoresta iästä lähtien, etkä ole vielä 12-vuotias, on parempi aloittaa yksinkertaisilla graafisilla kielillä, kuten esim. Kodu Game Lab tai Naarmu. Uskotaan, että perinteiset ohjelmointikielet tulisi hallita 12. jälkeen. Perinteisistä kielistä C# on aina ollut minulle lähellä - siinä on hyvä kehitysympäristö ja ohjelmoida voi kaikkea: pelistä aina Yhtenäisyys, ASP .NET- tai elektroniikkasivustoille. Voit oppia katsomalla opetusvideoita tai lukemalla kirjan C# koululaisille.

Mainosta Alennusta

Suosittelen, että aloittelijat ymmärtävät ensin, että kieli on vain työkalu ohjelmoijan työssä. Kyllä, tietysti on tärkeää luottaa siihen, jotta voidaan luoda hyviä ohjelmia, mutta kehittäjän taitojen tulee olla etusijalla, ei kielen, jolla hän kirjoittaa.

Mutta koska jostain on silti aloitettava, eikä samojen algoritmien ja tietorakenteiden tutkiminen tyhjiössä ole kovin kätevää, voin suositella C-kielen käyttöä tähän. Se on tarpeeksi alhainen, jotta se ei sisällä tonnia syntaktista sokeria ja antaa yleisen käsityksen ohjelmaa suorittavan tietokoneen toiminnasta. Mutta samaan aikaan tämä ei ole assembly-kieli, jonka avulla on mahdollista keskittyä yleisiin asioihin kuluttamatta O Suurin osa henkisestä ponnistelusta menee kaikkien hyppyjen nimien ja rekisteriarvojen muistamiseen. Kirjallisuudelle suosittelen klassikkoa

Ohjelmointi aloittelijoille

Aluksi haluaisin sanoa, että kuka tahansa voi käyttää tietokonetta ja luoda ohjelmia. Et tarvitse uskomatonta älykkyyttä tai matematiikan tutkintoa tietokoneohjelmien luomiseen. Tarvitset vain halun keksiä jotain ja kärsivällisyyttä, jotta et luovuta.

Taito kirjoittaa ohjelmia on sama taito kuin kyky uida, tanssia tai jongleerata. Jotkut ihmiset tekevät sen itse asiassa paljon paremmin kuin toiset, mutta kuka tahansa voi saavuttaa tiettyjä tuloksia asianmukaisella harjoituksella. Tästä syystä lapsista tulee ohjelmointiässiä varhaisessa iässä. Lapset eivät välttämättä ole neroja; he ovat yksinkertaisesti taipuvaisia ​​oppimaan uusia asioita eivätkä pelkää tehdä virheitä.

Vaikka tietokoneet näyttävät hyvin monimutkaisilta elektronisilta hirviöiltä, ​​rentoudu. Hyvin harvat ihmiset tietävät tarkalleen, kuinka hakukoneet toimivat, joiden avulla voit nopeasti löytää tarvitsemasi tiedot Internetistä, ja jotkut ihmiset eivät ole edes keksineet kuinka ajaa autoa. Samoin melkein kuka tahansa voi oppia luomaan ohjelmia ilman, että hänen tarvitsee mennä yksityiskohtiin siitä, miten tietokone toimii.

Yleisesti ottaen ohjelma kertoo tietokoneelle, kuinka tietty ongelma ratkaistaan. Koska maailma on täynnä ongelmia, ihmisten kirjoittamien ohjelmien määrä on loputon.

Kuitenkin, jotta voit kertoa tietokoneelle kuinka ratkaista yksi valtava ongelma, sinun on yleensä kerrottava tietokoneelle, kuinka se ratkaisee useita pieniä ongelmia, jotka muodostavat suuren ongelman.
Itse asiassa ohjelmointi ei ole ollenkaan vaikeaa, eikä se ole mitään mystistä tai yliluonnollista. Jos voit kirjoittaa vaiheittaiset ohjeet, joiden avulla henkilö löytää talosi, voit kirjoittaa tietokoneohjelman.

Ohjelmoinnin vaikein osa on tunnistaa pienet ongelmat, jotka muodostavat ratkaistavan ongelman. Koska tietokoneet ovat täysin typeriä, sinun on kerrottava heille, kuinka kaikki tehdään.

Jos luulet, että ohjelman luominen on hauskempaa kuin sen käyttäminen, sinulla on kaikki mitä tarvitset tietokoneohjelmien luomiseen. Jos haluat oppia kirjoittamaan tietokoneohjelmia, tarvitset seuraavat kolme ominaisuutta.

Takaa. Jos haluat jotain tarpeeksi pahaa, saat sen (mutta jos teet jotain laitonta, saatat viettää paljon aikaa vankilassa). Jos haluat oppia ohjelmoimaan, halusi auttaa sinua varmasti, riippumatta siitä, kuinka monta estettä tielläsi on.

Uteliaisuus. Terve annos uteliaisuutta voi ruokkia halusi kokeilla ja jatkaa ohjelmointitaitosi parantamista tämän kirjan lukemisen jälkeenkin. Uteliaisuus tekee ohjelmoinnin oppimisesta vähemmän tylsää ja mielenkiintoisempaa. Ja jos olet kiinnostunut, opiskelet ja muistat varmasti enemmän tietoa kuin kukaan täysin kiinnostumaton henkilö (esimerkiksi pomosi).
Mielikuvitus. Tietokoneohjelmien luominen on taito, mutta mielikuvitus voi auttaa tekemään siitä taidosta hienostuneemman ja keskittyneemmän. Aloitteleva ohjelmoija, jolla on melkoinen mielikuvitus, luo aina paljon mielenkiintoisempia ja hyödyllisempiä ohjelmia kuin loistava ohjelmoija ilman mielikuvitusta. Jos et tiedä mitä tehdä ohjelmointitaitosi kanssa, lahjakkuutesi yksinkertaisesti kuolee ilman mielikuvitusta.

Tarkkuus, uteliaisuus ja mielikuvitus ovat kolme tärkeintä ominaisuutta, jotka jokaisella ohjelmoijalla tulee olla. Jos sinulla on niitä, sinun tarvitsee huolehtia vain pienistä asioista: mitä ohjelmointikieltä opit (esim. C++), mitä matematiikassa jne.

Monien ohjelmointikielien joukosta löydät aina juuri sen kielen, joka sopii tietyn ongelman ratkaisemiseen. Kun ilmaantuu uudenlainen ongelma, ihmiset luovat uusia kieliä.

Tietenkin tietokone itse asiassa ymmärtää vain yhtä kieltä, joka koostuu ykkösistä ja noloista, jota kutsutaan konekieleksi. Tyypillisesti konekielellä kirjoitettu ohjelma näyttää tältä:

0010 1010 0001 1101

YK 1100 1010 1111

0101 IT 1101 0101

1101 1111 0010 1001

Lisäksi on erittäin tärkeää, mihin tarkoitukseen kieli valitaan - ohjelmoinnin opettamiseen tai tietyn sovellusongelman ratkaisemiseen. Ensimmäisessä tapauksessa kielen tulee olla helposti ymmärrettävää, tiukkaa ja mahdollisuuksien mukaan vailla sudenkuoppia. Toisessa - vaikkakin monimutkainen, mutta tehokas ja ilmeikäs työkalu ammattilaiselle, joka tietää mitä haluaa.

Nyt haluaisin selittää teille, että ohjelmointikieli (Basic, Pascal) tulee erottaa sen toteutuksesta, joka yleensä esitetään osana ohjelmointiympäristöä (Quick Basic, Virtual Pascal) - työkalusarja lähdetekstien muokkaamiseen. , suoritettavan koodin luominen, virheenkorjaus, projektien hallinta jne. Ohjelmointikielen syntaksi ja semantiikka on vahvistettu kielistandardissa. Jokainen ohjelmointiympäristö tarjoaa tälle kielelle oman tulkin tai kääntäjän, joka usein sallii sellaisten rakenteiden käytön, joita ei ole vahvistettu standardissa.

Katsotaanpa tärkeimpiä ja suosittuja ohjelmointikieliä

Kokoonpanija Tämä on kirkkain edustaja matalan tason kielistä, joiden käsitesarja perustuu laitteistototeutukseen. Tämä on automaatiotyökalu suoraan prosessorikoodeihin ohjelmointiin. Konekomennot on kuvattu muistooperaatioiden muodossa, mikä mahdollistaa melko korkean koodin muunnettavuuden. Koska eri prosessorien komentosarja on erilainen, yhteensopivuudesta ei tarvitse puhua. Assemblerin käyttö on suositeltavaa tapauksissa, joissa on tarpeen olla suoraan vuorovaikutuksessa laitteiston kanssa tai parantaa tehokkuutta jollekin ohjelman osalle, koska koodin generointia voidaan hallita paremmin.

COBOL- Korkeatasoinen ohjelmointikieli, joka kehitettiin 1950-luvun lopulla. CADASIL-yhdistys ratkaisemaan kaupallisia ja taloudellisia ongelmia. Siinä on edistyneitä työkaluja tiedostojen käsittelyyn. Koska tällä kielellä kirjoitettujen ohjelmien komennot käyttävät aktiivisesti tavallista englanninkielistä sanastoa ja syntaksia, Cobolia pidetään yhtenä yksinkertaisimmista ohjelmointikielistä. Tällä hetkellä käytetään taloudellisten, informaatio- ja muiden ongelmien ratkaisemiseen.

Fortran- IBM:n vuonna 1956 kehittämä korkean tason ohjelmointikieli kuvaamaan algoritmeja laskennallisten ongelmien ratkaisemiseksi. Kuuluu proseduaalisesti suuntautuneiden kielten luokkaan. Tämän kielen yleisimmät versiot ovat Fortran IV, Fortran 77 ja Fortran 90. Sitä käytetään kaikissa tietokoneluokissa. Sen uusinta versiota käytetään myös tietokoneissa, joissa on rinnakkaisarkkitehtuuri.

Ada- Korkeatasoinen ohjelmointikieli, joka on suunnattu käytettäväksi reaaliaikaisissa järjestelmissä ja suunniteltu automatisoimaan prosessien ja/tai laitteiden hallintatehtäviä esimerkiksi laivoissa (laivoissa, lentokoneissa jne.) olevissa tietokoneissa. Kehitetty Yhdysvaltain puolustusministeriön aloitteesta 1980-luvulla. Nimetty englantilaisen matemaatikon Ada Augusta Byronin (Lovelace) mukaan, joka eli vuosina 1815–1851.

PERUS(Beginner's All-purpose Symbolic Instruction Code) 60-luvulla Amerikassa syntynyt BASIC-kieleksi tuli mikrotietokoneiden de facto -standardi, koska se oli yksinkertaista sekä oppimisessa että toteutuksessa Tämän laadun saavuttamiseksi tehtiin useita päätöksiä (kirjoituksen puute, rivinumerointi ja ei-rakenteellinen GOTO jne.), jotka vaikuttivat negatiivisesti ohjelmointiopiskelijoiden tyyliin. Lisäksi ilmaisuvälineiden puute johti syntymiseen valtava määrä kielen murteita, jotka eivät ole yhteensopivia keskenään BASIC:n erikoisversioissa (kuten Visual Basic), on hankitusta "rakenteesta" huolimatta edelleen samat haitat, ennen kaikkea huolimattomuus tyyppeihin ja kuvaukset Soveltuu käytettäväksi oppimisen alkuvaiheessa, automaatiotyökaluna (tapauksissa, joissa se on sisäänrakennettu. vastaaviin järjestelmiin) tai välineenä sovellusten nopeaan luomiseen.

Pascal Kuuluisan teoreetikko N. Wirthin ALGOL-68:n ajatusten pohjalta kehittämä Pascal oli tarkoitettu ensisijaisesti ohjelmoinnin opettamiseen. ”Tarvittava ja riittävä” -periaatteelle rakennettu siinä on tiukka tyyppiohjaus, mielivaltaisten tietorakenteiden kuvaamiseen tarkoitettuja konstruktioita sekä pieni mutta riittävä joukko jäsenneltyjä ohjelmointioperaattoreita. Valitettavasti yksinkertaisuuden ja kurinalaisuuden kääntöpuoli on kielirakenteiden kuvausten kömpelyys. Tunnetuin toteutus - Turbo/Borland Pascal - Pascal-standardin eroista huolimatta on ympäristö ja joukko kirjastoja, jotka ovat muuttaneet opetuskielen teolliseksi järjestelmäksi ohjelmien kehittämiseen MS-DOS-ympäristössä.

C ja C++ C-kieli perustuu järjestelmäohjelmoijan vaatimuksiin: täydellinen ja tehokas pääsy kaikkiin tietokoneresursseihin, korkeatasoiset ohjelmointityökalut, ohjelmien siirrettävyys eri alustojen ja käyttöjärjestelmien välillä. C++, samalla kun se säilyttää yhteensopivuuden C:n kanssa, esittelee olio-ohjelmointiominaisuudet ilmaisemalla ajatuksen luokasta (objektista) käyttäjän määrittämänä tyyppinä. Näiden ominaisuuksien ansiosta C/C++ on ottanut universaalin kielen aseman mihin tahansa tehtävään. Sen käyttö voi kuitenkin jäädä tehottomaksi, jos on tarpeen saada käyttövalmis tulos mahdollisimman lyhyessä ajassa tai jos itse menettelytavoista tulee kannattamatonta.

Delfoi- tämä ei ole Borland Pascalin / Borland C:n seuraaja, sen markkinarako on ts. nopea sovellusten luominen (Rapid Application Developing, RAD). Tällaisten työkalujen avulla voit luoda nopeasti työohjelman valmiista komponenteista tuhlaamatta paljon vaivaa pikkuasioihin. Erityinen paikka tällaisissa järjestelmissä on kyvyllä työskennellä tietokantojen kanssa.

Lisp- Algoritminen kieli, jonka J. McCarthy on kehittänyt vuonna 1960 ja joka on tarkoitettu tietoelementtiluetteloiden muokkaamiseen. Sitä käytetään ensisijaisesti Yhdysvaltain yliopistojen laboratorioissa tekoälyyn liittyvien ongelmien ratkaisemiseen. Euroopassa he käyttävät mieluummin Prologia tekoälyn parissa.

Prologi- Korkean tason deklaratiivinen ohjelmointikieli, joka on suunniteltu tekoälyjärjestelmien ja -ohjelmien kehittämiseen. Kuuluu viidennen sukupolven kielten luokkaan. Se kehitettiin vuonna 1971 Marseillen yliopistossa (Ranska), ja se on yksi laajalti käytetyistä ja jatkuvasti kehittyvistä kielistä. Sen uusin versio on Prolog 6.0

LOGO- Korkean tason ohjelmointikieli, joka kehitettiin Massachusetts Institute of Technologyssa noin 1970 matemaattisten käsitteiden opettamista varten. Sitä käytetään myös kouluissa ja tietokoneiden käyttäjissä kirjoittaessaan ohjelmia piirustusten luomiseen näyttöruudulle ja kynäplotterin ohjaamiseen.

Java Erinomaisena esimerkkinä erikoistumisesta Java-kieli syntyi vastauksena ihanteellisesti kannettavan kielen tarpeeseen, jossa ohjelmat voisivat toimia tehokkaasti WWW-asiakaspuolella. Erityisestä ympäristöstä johtuen Java voi olla hyvä valinta Internet/Intranet-teknologiaan rakennettuun järjestelmään.

ALGOL- Korkeatasoinen ohjelmointikieli, joka keskittyy laskennallisten ongelmien ratkaisualgoritmien kuvaamiseen. Sen perustivat vuonna 1958 Länsi-Euroopan maiden asiantuntijat tieteellistä tutkimusta varten. Tämän kielen ALGOL-60-versio hyväksyttiin kansainvälisessä konferenssissa Pariisissa (1960), ja sitä käytettiin laajalti toisen sukupolven tietokoneissa. Kansainvälisen tietojenkäsittelyliiton (IFIP) asiantuntijaryhmän vuonna 1968 kehittämä versio ALGOL-68 sai kansainvälisen yleisen ohjelmointikielen aseman, joka keskittyy paitsi laskennallisten, myös tietoongelmien ratkaisemiseen. Vaikka Algolia ei tällä hetkellä käytännössä käytetä, se toimi perustana tai vaikutti merkittävästi nykyaikaisempien kielten kehitykseen, esimerkiksi Ada, Pascal jne.

Parasta kieltä ei ole olemassa. Jos aiot tulla ammattiohjelmoijaksi, sinun on opittava yksi korkean tason ohjelmointikielistä (suosituin ohjelmointikieli on C++) sekä yksi tietokantaohjelmointikielistä (esim. SQL). Kun olet oppinut C++-ohjelmointikielen, et voi mennä pieleen. Kun osaat tämän kielen, voit aina löytää työpaikan mistä tahansa ohjelmointiyrityksestä.
Huolimatta C++-ohjelmointikielen suuresta suosiosta, myös muita kieliä käytetään usein. Monissa vanhemmissa tietokoneissa on edelleen COBOL-ohjelmointikielellä kirjoitettuja ohjelmia. Siksi tarvitsemme ohjelmoijia, jotka voivat parantaa näitä ohjelmia ja myös kirjoittaa uusia. Hyvin usein suuret yritykset maksavat tällaisille ohjelmoijille korkeita palkkoja.
Jos aiot työskennellä yksin, on parasta oppia luomaan omia tietokantaohjelmia. Tätä varten sinun on opittava ohjelmointikieliä, kuten SQL tai VBA, joita käytetään Microsoft Access -ohjelmassa. Web-sivujen luominen edellyttää HTML:n osaamista sekä Java-, JavaScript-, VBScript- ja muiden Internet-ohjelmointikielien tuntemusta. Tarvittavin ohjelmointikieli on sellainen, jonka avulla voit ratkaista sinulle osoitetut tehtävät helposti ja nopeasti. Tämä voi olla ohjelmointikieli, kuten C++, BASIC, Java, SQL tai kokoonpanokieli.

Lopuksi toteamme, että ammatillisesta näkökulmasta ei ole niin tärkeää millä kielellä ja missä ympäristössä ohjelmoija työskentelee, vaan kuinka hän suorittaa työnsä. Laitteisto ja käyttöjärjestelmät muuttuvat. Uusia ongelmia syntyy useilta eri aihealueilta. Niistä tulee menneisyyttä ja uusia kieliä ilmaantuu. Mutta ihmiset jäävät - ne, jotka kirjoittavat ja ne, joille kirjoitetaan uusia ohjelmia ja joiden laatuvaatimukset pysyvät samoina näistä muutoksista huolimatta.
Joten tarkastelimme ohjelmoinnin perusteita ja tärkeimpiä ohjelmointikieliä.

Toivotan onnea ohjelmoinnin hallitsemiseen!

Ohjeet

Minkä tahansa tietokoneohjelman tekstin kirjoittamiseen käytetään yhtä monista ohjelmointikielistä. Kaikki ne ovat tiettyjä komentoja - operaattoreita sekä kuvauksia. Pääsääntöisesti näiden komentojen perusta on siis, jos osaat englantia, lukemalla ohjelman tekstin voit jopa ymmärtää, mitä tietokone tekee tällä tai toisella komennolla. Toisin kuin sinä, tietokone ei kuitenkaan osaa englantia - jotta se voisi ymmärtää ne, kääntäjä "kääntää" nämä komennot konekielelle. Jokaisella ohjelmointikielellä on oma kääntäjänsä.

Ensimmäiset, mukaan lukien: ADA, Basic, Algol, Fortran ja muut, jotka olivat suosittuja 60-70-luvulla, eivät ole olleet käytössä pitkään aikaan, mutta esimerkiksi vuonna 1983 luotu C++ on edelleen kysytty tänään, monet siihen on kirjoitettu erityisiä ohjelmistotuotteita. Vuonna 1991 ilmestynyt Basic on edelleen kysytty; sekä Pascal (Delphi-kehitysympäristö), Java, JavaScript ja Ruby, luotu vuonna 1995. Uusia ovat ActionScript ja Nemerle, jotka ilmestyivät vuonna 1998 ja 2006.

Luetellut ohjelmointikielet ovat edelleen ajankohtaisia, koska niitä muutetaan jatkuvasti ja niiden uudet versiot mukautetaan nykyisten tarpeiden mukaan. Tämä koskee ensisijaisesti C++-kieltä. Huolimatta siitä, että joissakin tapauksissa tällä kielellä käännetty ohjelmakoodi on melko hankalaa, valmiiden mallien käyttö auttaa ratkaisemaan tämän ongelman ja parantaa merkittävästi ohjelmistotuotteiden suorituskykyä.

Useimmat ohjelmoijat käyttävät myös kuuluisan Microsoftin kehittämää Visual Basic -kehitysympäristöä, joka mahdollistaa kompaktin ohjelmakoodin luomisen Basic-kielellä myös kätevän sisäänrakennetun suunnittelijan käyttämisen käyttöliittymään. Mutta verkkosivustojen luomiseen ohjelmoijat käyttävät PHP-kieltä, jota pidetään universaalina ja joka toimii minkä tahansa käyttöjärjestelmän kanssa. Sitä käytetään myös käyttöliittymäsuunnittelijana. Tämän kielen merkittäviä haittoja ovat kuitenkin se, että uudet versiot eivät tue aiemmissa versioissa kirjoitettua koodia.

Java pystyy myös toimimaan millä tahansa alustalla, mutta ohjelmien kirjoittamiseen tällä kielellä on käytettävä tälle ohjelmistotuotteelle tarkoitettua murretta. Ohjelmointikielet Pascal ja JavaScript erottuvat monipuolisuudestaan, monipuolisuudestaan ​​ja yksinkertaisuudestaan. Ensimmäistä käytetään useammin ohjelmistotuotteiden luomiseen käyttöjärjestelmälle, esimerkiksi Total Commander ja QIP, ja toista käyttävät useimmat nykyaikaiset selaimet.