Vi skriver enkle programmer selv. Hvordan dataprogrammer er kompilert

Jeg sitter ved tastaturet og skriver denne artikkelen. Platen snurrer i CD-spilleren: myk musikk strømmer fra høyttalerne. I nedre høyre hjørne av skjermen blinker to skjermer: informasjon blir "lastet ned" fra Internett. I bakgrunn Klokken, planleggeren, Outlook og mye mer arbeid. En datamaskin er nå en multifunksjonell kombinasjon for å "slipe" informasjon, dessuten slik informasjon, hvorav det meste er likegyldig for brukeren til enhver tid, men i utgangspunktet ble datamaskiner utviklet kun for å utføre komplekse matematiske beregninger, uten hvilke brukeren kunne ikke klare seg uten. Mer presist er beregningene ikke så mye komplekse, men ganske tungvinte, som det er nødvendig å utføre et stort nummer av samme type beregninger. Det er ingen tilfeldighet at mulighetene kommer først datamaskiner militære kodebrytere og fysikere utnyttet.

For tiden er det et stort antall spesialiserte programvarepakker for et bredt utvalg av beregninger, fra kalkulator på skjermen og EXEL til Mathlab. Du kan alltid hente programvare Til nødvendige beregninger. Men hva skal du gjøre når du trenger å gjøre noen spesifikke beregninger, men ingen av pakkene du har mestret er egnet for disse formålene? Spesielt hvis denne beregningen bare skal gjøres én gang. Ikke studer Mathlab på grunn av dette. Men hvis du har litt kunnskap om et av programmeringsspråkene, er det fornuftig å prøve å skrive et slikt program selv.

Denne artikkelen er viet til hvordan du som programmeringsnybegynner kan skrive et korrekt fungerende program uten å dykke for dypt inn i jungelen av språk.

Som et eksempel vil vi prøve å løse følgende enkle problem.

Kroppsvekt = 50+(høyde-150) x 0,32+(alder-21)/5

BP (øvre)=102+0,7 x alder+0,15 x kroppsvekt

BP (lavere)=78+0,17 x alder+0,1 x kroppsvekt

Kroppsvekt = 50+(høyde-150) x 0,75+(alder-21)/4

BP (øvre)=109+0,5 x alder+0,1 x kroppsvekt

BP (lavere)=74+0,1 x alder+0,15 x kroppsvekt

Måtte vi prøve å gjøre så mye som mulig flere mennesker var i stand til å kontrollere deres fysiske tilstand, og for dette formålet ønsker vi å plassere beregningsprogrammet på en spesiell nettside på Internett. For disse formålene må vi minst kunne HTML. Selvfølgelig kan du vise nakne formler på nettstedet, noe som gir besøkende muligheten til å gjøre kolonneberegningene selv. Men det er mye bedre å bare erstatte verdiene og få det ferdige resultatet. Her er ikke HTML alene nok, du må kunne et eller annet programmeringsspråk. I prinsippet vil enhver gjøre; to pluss tre kan programmeres på alle språk. Men hvis du skriver et program, for eksempel i C++, vil spørsmålet oppstå om hvordan du "fester" det til HTML. I tillegg vil du også måtte forholde deg til CGI. For å unngå dette kan du bruke Java-språk, skriver den tilsvarende appleten, men hvem sa at det var så enkelt, og på den annen side er det verdt å skyte spurver fra kanoner? Derfor er det umulig for enkle applikasjonsproblemer ville vært bedre egnet JavaScript. Hvis du ikke snakker dette språket, men kan for eksempel VBScript, bør du ikke være opprørt, disse språkene er i samme "vektkategori" og nesten alt som JavaScript kan gjøre, kan VBScript gjøre og omvendt. Hvis du ennå ikke har mestret et av disse språkene, vil du etter å ha lest en lærebok fra "for dummies"-serien i en dag eller to, være i stand til å skrive ikke-kommersielle programmer "for deg selv".

Så vi har bestemt oss for språkene, la oss begynne å programmere. Noen tror at programmering er å skrive programkoder. Nei. Å skrive koder er nettopp det: koding, eller i tilfelle av HTML, layout.

La oss begynne å programmere med generelle utsagn om hva et program bør gjøre.

Programmet skal informere brukeren om hva det er ment for. I vårt tilfelle bør det være klart for den besøkende på nettstedet at han blir bedt om å overvåke sin fysiske tilstand. Uten lange undersøkelser må brukeren forstå hva som må erstattes hvor man skal få resultatet. Det vil si at det er nødvendig å utvikle et praktisk og fortrinnsvis attraktivt grensesnitt (vi er overbevist om at dette kan oppnås ved hjelp av HTML).

Lengre

Programmet skal gjøre korrekte beregninger uten å plage brukeren med unødvendige spørringer og spesielle installasjoner. Siden programmet vårt må kjøres på Internett, er hastighet og drift uten unødvendige omstarter viktig her. Bruk JavaScript-språk tilfredsstiller disse betingelsene. Derfor går vi videre og prøver å fordype oss gradvis i detaljene.

Vi har tre måter:

Først. Begynn å utvikle hele programmet på en gang, og løs samtidig problemer med grensesnittet, beregningsdelen og interaksjonen mellom dem.

Sekund. Lag en beregningsdel og legg deretter til et grensesnitt til den.

Tredje. Start med å utvikle grensesnittet og juster beregningene til det.

Under utvikling store prosjekterÅ bestemme hvilken vei du skal ta er ikke en lett oppgave, og oftest utføres spesiell forskning for dette formålet. Ganske ofte var det tilfeller der en feil valgt strategi førte til at det halvveis i prosessen var nødvendig å stoppe arbeidet og starte på nytt. I vårt tilfelle, når oppgaven er lett synlig, kan vi begynne med hva som helst. For eksempel ville jeg lage et grensesnitt først.

Opprette et WEB-sidegrensesnitt

For ikke å anstrenge oss for mye og ikke bruke mye tid på å skrive kode, vil vi bruke FrontPage Express. Her trenger vi ikke engang kunnskap om språket med det første hypertekstmarkering. Vi skriver ganske enkelt den innledende teksten og ordner rutene i skjemaet på siden. Det er dette som skal vises i editoren (se figur 1). Det vil se omtrent likt ut ferdig side. FrontPage Express vil automatisk generere følgende kode:






finne ut
din optimale fysiske form


Gulv:

Hunn
Mann
Alder år Høyde cm Vekt kg





Den første fasen av grensesnittdesign er fullført. La oss gjøre noen endringer i skjemateksten. Siden vi ikke skal sende data fra skjemaet noe sted, vil vi fjerne method="POST", men vi legger til navnet på skjemaet for å gjøre det mer praktisk for oss å jobbe i fremtiden. La skjemaet hete "Zdorov". La oss også gi nytt navn til skjemafeltene: "D1"="pol", "T1"="Let", "T2"="Rost", "T3"="Ves", "B1"="shet". For enkelhets skyld vil vi også fjerne alle fontformateringskoder og erstatte dem med ....

Som et resultat vil "Zdorov"-skjemaet se slik ut:


Gulv
Hunn
Mann

Alder år
Høyde cm
Vekt (kg

m0=Math.round(50+(document.Zdorov.Rost.value-150)*0.32+(document.Zdorov.Let.value-21)/5);


adv0=Math.round(102+0.7*document.Zdo-rov.Let.value+0.15*m0); adn0=Math.round(78+0.17*document.Zdo-rov.Let.value+0.1*m0);

adv1=Math.round(102+0.7*document.Zdor-ov.Let.value+0.15*document.Zdorov.Ves.value);

}
ellers(



v1=Math.round(109+0.5*document.Zdor-ov.Let.value+0.1*document.Zdorov.Ves.value);
};

) Funksjonen Sthet() er et skript for å beregne fysisk form. Betydningen av manusoppføringene er tydelig fra kommentarene.

Bygge inn et skript i et HTML-dokument

Den siste fasen av arbeidet er monteringen av programkoden.

Vi plasserer skriptet i en del... av dokumentet. Vi tvinger "Beregn"-knappen for å initialisere beregningen:

Legge til en tekststil.


h3 (font-familie: Arial;farge: gul";)

Som et resultat får vi følgende HTML-dokument:





Finn ut din optimale kondisjon

h3 (font-familie: Arial; farge: "gul";)








Gulv
Hunn
Mann

Alder
år Høyde
cm Vekt
kg



Skriv meg et brev


Det er det, du kan laste opp filen til nettstedet og vente på svar fra takknemlige besøkende.

Det gitte eksemplet skinner selvfølgelig ikke med skarpheten til en programmerers tanke; alle problemer ble løst direkte, men resultatet ble oppnådd i så snart som mulig, som er det som kreves i de fleste tilfeller.


Hvis du ønsker å lære dataprogrammering og leter etter hurtiginnføring, som forklarer hvordan du lærer denne kunsten, denne artikkelen er bare for deg.

Her vil jeg gi deg tips til hvordan du kan lære å skrive dataprogrammer etter eget skjønn.

Dataprogrammering er et av de mest spennende og givende feltene å jobbe i. Millioner av linjer med kode skrives hver dag, over hele verden, noe som resulterer i nye applikasjoner og programvare. Hvis du liker å tenke analytisk og løse gåter og problemer av alle slag, er programmering din greie. Nøkkelen til å lære programmering er å mestre programmeringsspråk og lære å bruke dem til å løse komplekse problemer.

Standardmåten for å lære å kode, gå på college og få en grad i informatikk. Imidlertid er det mange mennesker som aldri har studert i institusjoner, men til tross for dette har de ferdigheter og talent for analytisk tenkning. Jeg skrev denne artikkelen for de av dere som ikke studerte for å bli programmerer, men som allerede har oppdaget skjønnheten i programmering og som gjerne vil mestre denne vitenskapen. Internett har skapt en programmeringskultur som kan lede deg gjennom denne prosessen. Med selvdisiplin og utholdenhet kan du lære å programmere og skrive din egen programvare. Dette er ikke bare en metode for å trene sinnet, men også en fin måte å tjene penger på ved å selge din egen programvare, eller finne en jobb i et spesialisert firma hvis du er veldig god til det.

Hvordan lære å programmere?

Datavitenskap er et stort felt å mestre, det vil gi deg minimum kunnskap og erfaring innen programmering. Her er noen anbefalinger om hvordan du kan bli programmerer.

Lær programmeringsspråk

Først trenger du et skrivebord eller laptop, som lar deg lese og kjøre programmene dine. Programmering er evnen til å kommunisere med maskinvarekonfigurasjonen til en datamaskin for å utføre ulike dataoppgaver. En datamaskin forstår kun maskinspråk, skrevet i 1-er og 0-er. For at vi mennesker skal kommunisere med datamaskiner, er det laget programmeringsspråk hvis kode kan konverteres til maskinlesbar form av kompilatorer. Det er en rekke programmeringsspråk som varierer i applikasjonene deres. Du må studere innen i det minste et dusin store programmeringsspråk, som inkluderer C, C++, Java, Perl, Lisp og Python.

For å lære det grunnleggende om programmering, begynn å lære C eller Python i begynnelsen. Bruk nettressurser og programmeringsbøker for å få det grunnleggende. Installer kodeprogrammer og kjør dem på datamaskinen din. Arbeid med eksemplene og oppgavene i bøker og elektroniske lærebøker for å skrive dine egne egen kode. En av de beste bøkene for å begynne å lære "C" er "". En annen god bok « ».

Få "C"-ferdigheten og gå deretter videre til objektorientert programmering, muliggjort av C++. Få deretter ferdigheter i Java, Perl og , som er mye brukt til webutvikling. Lær HTML hvis du planlegger å jobbe med webutvikling. Som du kan se, er det mye materiale å lære og det vil ta minst 5 - 6 år å bli dyktig i de fleste språk.

Begynn å skrive kode

Dette Den beste måten praktisere det du har lært. Skriv koden din, gjør feil, lær, feilsøk koden. Delta i kodekonkurranser på nettet og test dine programmeringsferdigheter. Skjønner programvare med åpen kildekode, les koden og forstå hvordan gode programmer er skrevet. Lær hvordan mesterprogrammerere oppnår kodebesparelser og logisk klarhet. Bli kjent med datamaskinen og viktig maskinvare. Lær hvordan en datamaskin fungerer på grunnleggende nivåer med minne og prosessorer.

Lær å kjøre Linux eller Unix

Du kan ikke kalle deg en programmerer før du har mestret driften Linux-systemer og Unix. Installer Ubuntu-distribusjonen på datamaskinen din og bli kjent med den. Dette vil gi deg alle programmeringsverktøyene du trenger, sammen med kompilatorer.

Compiler er et program som utfører kompilering (oversettelse av et program kompilert fra kildekode).

Student - Ekspert - Programmerer

Finn en god mentor som kan sette deg på veien til å bli en mesterprogrammerer. Lytt til råd og lær av dem.

Les reglene for å skrive kode og fortsett å forbedre deg

Fortsett å skrive din egen datamaskinkode og tenk på hvordan du kan forbedre det. Bli med i åpen kildekodebevegelsen og analyser anatomi gode programmer. Lag ditt nettsted og utdyp kunnskapen din hele tiden. Husk at det alltid er rom for forbedring!

La det ikke være noen illusjon om at programmering ikke er en lett oppgave. Det vil ta minst ti til femten år å komme til det punktet hvor du kan begynne å kalle deg selv en fullverdig programmerer. Din suksess i programmering er direkte proporsjonal med engasjementet og utholdenheten du forfølger læringen din med.

Hensikten med denne artikkelen er å gi deg et dytt i riktig retning. Jeg håper at dette målet til en viss grad er nådd. Frigjør sinnet ditt og gå inn i programmeringsverdenen med moro!

Hilsen alle lesere av siden! Det er en fantastisk gratis en på Internett, og det er det det handler om. vi vil snakke i dagens artikkel.
Mange brukere tenker noen ganger på å lage et dataprogram på egen hånd, og det er det ulike årsaker, For eksempel:

Til tross for mangfoldet av disse grunnene, deler de alle en vanskelighet - for å utvikle et program, må du kunne programmeringsspråk. For å lære syntaksen til et hvilket som helst programmeringsspråk, er et par måneder nok, men å forstå logikken i språket og lære å bruke det i praksis, vil det ta år. Men som du vet håpløse situasjoner Kan ikke være! I vårt tilfelle vil vi bli hjulpet av et program for å lage dataprogrammer, som du kan laste ned helt gratis!

Når jeg ser fremover, vil jeg si at etter å ha lest denne artikkelen til slutten, vil du på bare et par timer kunne lage dine egne enkle programmer. Så la oss komme i gang.
Vårt program for å lage dataprogrammer heter HiAsm.

HiAsm er kraftig visuelt system applikasjonsutvikling, som du kan utvikle programmet med uten å bruke programmering. Med HiAsm kan du lage ulike lyd- og videospillere, nettlesere, nettprat og mye mer. Du kan lage alle disse applikasjonene uten en eneste kodelinje; det visuelle miljøet vil gjøre alt for deg!

Før du begynner å jobbe med programvare for å lage programmer for datamaskinen, foreslår jeg at du laster ned og installerer den.

Etter nedlasting må du gå gjennom standard prosedyre installasjon av denne applikasjonen.
1 . Velge ønsket språk, i mitt tilfelle er det russisk.

2. Fortsett med installasjonen.

3. Vi godtar vilkårene i lisensavtalen.

4. Velg en plassering på harddisken for å installere programmet for å lage programmer for datamaskinen.

5. Angi navn og e-postadresse (siden e-postbekreftelse ikke er nødvendig, kan du spesifisere hvilken som helst e-post)

6. Vi fullfører programinstallasjonsprosessen.

Når du har installert HiAsm, kan du fortsette til lanseringen. Etter å ha lansert vårt, vil vi se følgende vindu:

For å begynne å lage applikasjonen din, må du klikke på hovedmenyelementet "Fil", deretter "Ny ...", velg "Windows" (hvis vi vil lage et program for Windows OS) og klikk "Ok" .
På denne måten vil vi få et skjema for vårt fremtidige program, som foreløpig inneholder et enkelt element kalt MainForm.

Skjemaet er grunnlaget for programmet som de ulike elementene skal bygge på. For å legge til elementer i programmet vårt, klikk på elementet med samme navn øverst til venstre.

En fane har åpnet seg med en enorm samling ulike elementer. Takket være et så stort arsenal kan du lage en veldig seriøs applikasjon som oppfyller alle dine krav.
For å vise hvordan HiAsm fungerer, skal jeg lage et enkelt program, som vil ha én knapp, klikk på som vil endre tittelen på skjemaet fra "Skjema" til "Hei".

Hvordan installere et element på et skjema?

Så vi finner knappen i elementpanelet (når du holder markøren over et element, vil et verktøytips med navnet dukke opp), venstreklikk på den, og flytt deretter markøren til den delen av skjemaet vi vil ha å plassere den.

Hvordan endre elementinnstillinger?

For å konfigurere knappen vår, gå til høyre øverste del programmet og klikk på "Egenskaper". Nå ser vi en fane med alle egenskapene til knappen vår. Nå er vi interessert i "Caption"-egenskapen, som er ansvarlig for etiketten på knappen. Som standard er den satt til "Push", vi vil endre den til "Trykk".

Hvordan angi en handling for et element?

Nå har vi mest den vanskelige delen ved å lage en applikasjon ved å bruke et program for å lage dataprogrammer - må vi få knappen til programmet vårt til å begynne å fungere. Når du forstår betydningen av denne operasjonen, vil den bli enkel og logisk for deg.
For at knappen vår skal endre navn på programskjemaet, må vi etablere en forbindelse mellom knappen og hovedform(MainForm-element). For å gjøre dette, flytt musepekeren over den grønne prikken på knappen vår, og hold deretter nede venstre knapp musen og begynn å tegne en linje til midten av MainForm.

Nå må du dobbeltklikke på det lagte segmentet og angi navnet på skjemaet, som vises etter å ha klikket på knappen. Etter å dobbeltklikke på segmentet, åpnes "Data Editor".

Hvis du vil angi et tekstnavn for skjemaet, velg String, og hvis numerisk, velg Heltall eller Real. Velg datatypen "String" og skriv inn ordet "Hei" i feltet.
På dette tidspunktet er programmet vårt klart, og nå må vi teste det. For å gjøre dette, lagre prosjektet vårt - "Fil", deretter "Lagre som" og velg et sted å lagre. For å starte, må vi klikke på den grønne pilen eller trykke på F9-tasten.

Programmet vårt har lansert, nå sjekker vi funksjonaliteten - klikk på knappen vår.

Hvordan kan vi erstatte skjematittelen har endret seg og dette betyr at programmet fungerer! Slik at du kan kjøre programmet uten HiAsm, må du opprette exe-fil. For å gjøre dette, klikk på hovedmenyen "Kjør" og klikk "Kompiler".
Gratulerer, du har nettopp laget et program for Windows! For å gjøre prosessen med å lage programmer enklere, anbefaler jeg at du gjør deg kjent med følgende programmeringskonsepter:

  • datatyper;
  • begrepet hendelser i objektorientert programmering;
  • egenskapene til Delphi programmeringsmiljøkomponenter.

Å kjenne til disse konseptene vil i stor grad lette prosessen med å lage programmer i HiAsp. I denne artikkelen så vi på en utmerket gratis program for å lage dataprogrammer laget vi også vår første applikasjon og testet den for funksjonalitet. For å gjøre det lettere for deg å forstå HiAsp-programmet, har jeg valgt ut flere ganske gode videoer leksjoner dedikert til dette fantastiske miljøet for programoppretting. Jeg ønsker deg hyggelig visning!

Udokumenterte funksjoner i HiAsm

HiAsm-innstillinger

Grafikk i HiAsm

Vet du hvilke som er gratis?

Programmering er en kreativ og interessant prosess. For å lage programmer trenger du ikke alltid å kunne språk. Hvilket verktøy trengs for å lage programmer? Du trenger et programmeringsmiljø. Med dens hjelp blir kommandoene dine oversatt til forståelige termer for datamaskinen. binær kode. Men det er mange språk, og enda flere programmeringsmiljøer. Vi skal se på en liste over programmer for å lage programmer.

PascalABC.NET er en enkel fritt miljø utvikling for Pascal-språket. Det er dette som oftest brukes på skoler og universiteter til undervisning. Dette programmet på russisk lar deg lage prosjekter av enhver kompleksitet. Kodeeditoren vil spørre og hjelpe deg, og kompilatoren vil påpeke feil. Har høy hastighet yu-programkjøring.

Fordelen med å bruke Pascal er at det er objektorientert programmering. OOP er mye mer praktisk prosedyreprogrammering, selv om den er mer voluminøs.

PascalABC.NET er dessverre litt krevende for dataressurser og kan fryse på eldre maskiner.

Gratis Pascal

Free Pascal er en kompilator på tvers av plattformer, ikke et programmeringsmiljø. Med dens hjelp kan du sjekke programmet for riktig stavemåte, samt kjøre det. Men du vil ikke kunne kompilere den i .exe. Gratis Pascal har høy utførelseshastighet og et enkelt og intuitivt grensesnitt.

Akkurat som i mange lignende programmer, kan kodeeditoren i Free Pascal hjelpe programmereren ved å fullføre skrivingen av kommandoer for ham.

Ulempen er at kompilatoren bare kan avgjøre om det er feil eller ikke. Den markerer ikke linjen der feilen ble gjort, så brukeren må lete etter den selv.

Turbo Pascal

Nesten det første verktøyet for å lage programmer på en datamaskin er Turbo Pascal. Dette programmeringsmiljøet er designet for operasjonssalen DOS-systemer og for å kjøre den på Windows må du installere tilleggsprogramvare. Det russiske språket støttes og har høy utførelses- og kompileringshastighet.

Turbo Pascal har denne interessant funksjon, som sporing. I sporingsmodus kan du se programmet arbeide trinn for trinn og overvåke dataendringer. Dette vil hjelpe deg å finne de vanskeligste feilene å finne – logiske feil.

Selv om Turbo Pascal er enkel og pålitelig å bruke, er den fortsatt litt utdatert: Turbo Pascal ble opprettet i 1996 og er bare relevant for ett operativsystem - DOS.

Dette er et visuelt programmeringsmiljø i Pascal. Det praktiske, intuitive grensesnittet lar deg enkelt lage programmer med minimal kunnskap Språk. Lazarus er nesten fullstendig kompatibel med programmeringsspråket Delphi.

I motsetning til Algoritme og HiAsm, krever Lazarus fortsatt kunnskap om språket, i vårt tilfelle Pascal. Her setter du ikke bare sammen programmet bit for bit med musen, men skriver også kode for hvert element. Dette lar deg bedre forstå prosessene som skjer i programmet.

Lazarus lar deg bruke en grafikkmodul som du kan jobbe med bilder og også lage spill med.

Dessverre, hvis du har spørsmål, må du lete etter svar på Internett, siden Lazarus ikke har dokumentasjon.

Hei Asm

HiAsm er gratis konstruktør, som er tilgjengelig på russisk. Du trenger ikke kunne et språk for å lage programmer – her setter du det enkelt sammen bit for bit, som en designer. Det er mange komponenter tilgjengelig her, men du kan utvide utvalget ved å installere tillegg.

I motsetning til algoritmen, dette grafisk miljø programmering. Alt du lager vil vises på skjermen i form av en tegning og diagram, ikke kode. Dette er ganske praktisk, men for noen tekstinntasting Jeg liker det bedre.

HiAsm er ganske kraftig og har høy programutførelseshastighet. Dette er spesielt viktig når du lager spill som bruker en grafikkmodul, noe som bremser arbeidet betydelig. Men for HiAsm er ikke dette et problem.

Algoritme er et miljø for å lage programmer på russisk, et av få. Dets særegne er at den bruker tekstbasert visuell programmering. Dette betyr at du kan lage et program uten å kunne språket. En algoritme er en konstruktør som har et stort sett med komponenter. Informasjon om hver komponent finnes i programdokumentasjonen.

Algoritmen lar deg også jobbe med grafikkmodulen, men applikasjoner som bruker grafikk vil ta ganske lang tid å kjøre.

I gratis versjon Du kan kompilere et prosjekt fra .alg til .exe bare på utviklerens nettsted og bare 3 ganger om dagen. Dette er en av de største ulempene. Du kan kjøpe lisensiert versjon og kompilere prosjekter direkte i programmet.

IntelliJ IDÉ er en av de mest populære IDE-ene på tvers av plattformer. Dette miljøet har en gratis, litt begrenset og betalt versjon. For de fleste programmerere er gratisversjonen tilstrekkelig. Den har en kraftig kodeeditor som vil fikse feil og fullføre kode for deg. Gjør du en feil, forteller omgivelsene deg og tilbyr mulige alternativer løsninger. Det er et intelligent utviklingsmiljø som forutsier handlingene dine.

En til praktisk funksjon i InteliiJ IDEA er automatisk kontroll hukommelse. Den såkalte "søppelsamleren" overvåker konstant minnet som er tildelt programmet, og i tilfelle minnet ikke lenger er nødvendig, frigjør samleren det.

Men alt har sine ulemper. Et litt forvirrende grensesnitt er et av problemene som nye programmerere møter. Det er også åpenbart at et så kraftig miljø har ganske høy Systemkrav for riktig drift.

Oftest brukes Eclipse for å jobbe med språket Java programmering, men den støtter også andre språk. Det er en av hovedkonkurrentene til IntelliJ IDEA. Forskjellen mellom Eclipse og lignende programmer er at du kan installere ulike tillegg for det, og det kan tilpasses fullstendig.

Eclipse har også høye kompilerings- og utførelseshastigheter. Du kan kjøre alle programmer som er opprettet i dette miljøet på alle operativsystem, siden Java er et tverrplattformspråk.

Forskjellen mellom Eclipse og IntelliJ IDEA er grensesnittet. I Eclipse er det mye enklere og klarere, noe som gjør det mer nybegynnervennlig.

Men akkurat som alle IDE-er for Java, har Eclipse fortsatt sine egne systemkrav, så det vil ikke fungere på alle datamaskiner. Selv om disse kravene ikke er så høye.

Det er umulig å si med sikkerhet hvilken programvare for å lage programmer som er best. Du må velge et språk og deretter prøve hvert miljø for det. Tross alt er hver IDE forskjellig og har sine egne egenskaper. Hvem vet hvilken du vil like best.

Som førskolebarn begynner du å underholde deg selv med spill på en sovjetisk kalkulator, og finner snart deg selv i å administrere titalls milliarder poster i databaser. Måns Anderson, også kjent som "Vladimir Perepelitsa," svarte på spørsmålene våre om hvordan man blir programmerer.

Jeg husker ikke hvem jeg ønsket å være som barn, men da jeg var veldig ung leste jeg et barneleksikon, og favorittbindene mine var "Materie og energi", "Tall og figurer", alt om kjemi og astronomi. Jeg hadde en hjemmelab der jeg laget eksplosiver – før jeg begynte å studere kjemi på skolen.

Og jeg kom over noe programmerbart som dette: faren min hadde "Electronics MK-52", "MK-61", programmerbare kalkulatorer. Følgelig er den første boken denne spillprogram, ring og spill. Jeg husker definitivt "Tic Tac Toe", " Sjøkamp"Og det var noe annet logisk tull.

Jeg husker fortsatt kombinasjonen av knapper B/O S/P, selv om jeg ikke lenger husker hva det betyr.

En dag tok jeg min fars kalkulator og ødela en god en for ham. ingeniørprogram. Kalkulatoren hadde et minne, og jeg slettet det med en slags leke. Han tvang meg til å skrive programmet på nytt. Så fikk jeg en Sinclair, håndloddet av en av farens venner. Ikke-standard Sinclair: den hadde ikke en diskstasjon, så alle programmene mine var kun skrive. Det vil si at jeg slo den på, skrev den, testet den, kjørte den, slo den av.

Den første x86-datamaskinen - en 200 Pentium MMX med Windows 95 OSR2 - ble kjøpt til meg i desember 1997, fordi jeg i 10. klasse gikk over til en informatikk- og matematikkskole og det var vanskelig uten datamaskin. Jeg installerte Pascal, Delphi der, og lærte av noen hvordan man skriver assembler-innlegg. Så jeg skrev i Pascal med assembler-innlegg og irriterte naboene mine ved å ikke komme meg ut av Internett - modemtariffen var 400 timer per måned, og telefonen var på en linje paret med naboene.

Er det nødvendig å ta høyere utdanning?

I 11. klasse hadde jeg alle slags vitnemål: kjemi - 2. plass i landet, astronomi - 2. plass, informatikk på regionalt nivå ( sportsprogrammering var aldri min vei), er fysikk også noe sånt. Foreldrene mine og jeg bestemte oss for at vi måtte gå til et kult institutt og valgte MIPT. Dette til tross for at vi bodde i Nikolaev. Men en bekjent av en bekjent var dekanen ved fakultetet for fysisk og kvanteelektronikk ved MIPT, og jeg, en fulltids olympiadestudent, dro til Moskva for å ta opptaksprøvene. Bestod ikke.

Men siden jeg gikk tidlig på skolen, var det ett år igjen før hæren, så jeg dro til korrespondanseavdelingen til MIPT. Jeg studerte, løste problemer og jobbet på dagtid med bygging av hytter for de "nye russerne". Han saget stein, la murstein, møtte rakkere - slutten av 90-tallet!

Jeg kom inn på det andre forsøket, studerte i to år og droppet ut på det tredje. Jeg kom ikke overens med matte.

Helt fra første år, fra første forelesning om matematisk analyse, når de forteller helt åpenbare ting og sier at nå skal de bevise det. Jeg kan ikke gjøre det. Her er fysikk, kjemi – jeg elsker dem, forstår dem, oppfatter dem. Jeg kan komme, uten å lese noe i det hele tatt, sitte overfor fysikeren og diskutere med ham et hvilket som helst tema han vil. Hvis jeg ikke vet noe, husker jeg ikke, jeg vil spørre og avklare. Og matematikk og matte, alle disse bevisene, Cauchys teoremer og lignende... Ved vinterøkten hadde jeg tre feil og fikk ikke ta eksamen. Jeg kunne selvfølgelig ha bestått, men jeg bestemte meg for at de lærte meg å studere, og det var ikke interessant å fortsette med dette.

På den tiden programmerte jeg allerede noe for å bestille, så det åpenbare svaret er ja, for å tjene penger på programmering eller til og med bli god programmerer, ingen vitnemål nødvendig. Det var i programmering ved universitetet at læreren var en ganske "freeloader", og ifølge programmet var det nødvendig å lære Pascal, som vi allerede kjente.

For de som gikk glipp av denne fantastiske epoken: slik ser Turbo Pascal ut

Hvilket selskap skal du jobbe for og hvilke bør du unngå?

Jeg sluttet i begynnelsen av 2003, og etter universitetet jobbet jeg i fire år Systemadministrator og skrev ulike nettsider. For eksempel ble den forrige nettsiden til Opora Rossii laget på egen hånd, fra koden og databasen til layout/design.

Så fikk jeg jobb hos Agave-vertsleverandøren som Perl-utvikler (jeg hadde ikke Perl på CV-en min, så alle ble overrasket da jeg bestemte meg for 4 fett testoppgaver, som ingen noen gang har løst). Jeg begynte å fikle med fakturering og begynte å studere de nye teknologiene som ble brukt der. Jeg fant og korrigerte absurditeter i koden, for eksempel å sende 1500 SQL-spørringer for å gjengi én side. Jeg fant ut hva en ORM er og skrev en ORM selv. Jeg lærte hva rammer er og skrev et rammeverk selv.

Det var her krisen i 2008 skjedde. Agave begynte å sparke utviklere (fordi de var dyrere) og ansette ledere. Ledere akkumulerte og kom i stadig større konflikt med hverandre, noe som ikke er overraskende når det er 5-7 ledere per utvikler.

Jeg hadde en reserve av penger, og derfor tid, til nye intervjuer. Jeg dro til Yandex, jeg likte det ikke. Jeg gikk til Mail.ru. Jeg likte egentlig ikke Mail.ru den gang. Jeg gikk på Rambler, jeg likte teknologiene de brukte, og jeg likte menneskene. Jeg var et annet sted, på kontorer som Ashmans, men til slutt valgte jeg Rambler.

Da var Olga Turishcheva nettopp kommet til Rambler. De hadde penger til tross for krisen: de skjøt " effektive ledere” og innleide utviklere. Etter min mening gikk alt bra. Vi overlevde krisen med et smell og begynte å utvikle nye prosjekter. Vi skrev, lanserte og bestemte oss noen ganger for at nei, vi må gjøre noe annet. I mitt minne lanserte vi, kjørte og begravde Rambler Friends. Det var en slik RSS-aggregator, som jeg skrev og vedlikeholdt kode for som samlet inn nyheter på serveren vår.

Det var utviklingen av denne tingen som fikk meg til asynkrone hendelsesteknologier, som jeg nå jobber med som hovedfokus.

Så skrev vi Rambler-Photo, og det var et utmerket eksempel på bruk av smidige metoder. Vi utviklet det strengt i henhold til Scrum, startet med å registrere alle, manageren satt rett med oss, vi gjorde daglige scrums. Prosjektet ble etter min mening meget bra både teknologisk og produktmessig. Da alle utviklerne og nesten all administrasjon senere ble fjernet fra ham, jobbet han i ytterligere to år uten innblanding i det hele tatt. Jeg vet ikke hvorfor det ble stengt; spiste de uheldige åtte serverne virkelig så mye penger? Som de som fortsatt hadde tilgang til adminpanelet sa, kom bruker-SMS (det vil si penger) helt til siste dag.

Jeg vet ikke hva som var i hodet til de som kontrollerte det. Dette var allerede under Afisha-Ramblers tid, det "forente selskapet". Da ble ledelsen til den teknologiske Rambler fjernet og medieledelsen til Afisha ble installert. En vanskelig periode begynte da hele dette forente selskapet prøvde å finne seg selv. Hun fant seg selv i at nå er det ikke et teknologiselskap, men et medieselskap, og utviklingsforløpet vil passe.

På dette tidspunktet var de fleste programmererne (og ikke bare) fullstendig demoraliserte. Utviklerne sa: "Vi vet ikke hva vi gjør, hvorfor vi gjør det og når de vil kaste ut det vi gjør nå."

For rett foran øynene deres ble noen prosjekter som ble diskutert, utført og fullført stengt, for eksempel Rambler-Avia.

På samme måte - jeg husker ikke hvor lenge, ser det ut til, omtrent et år - jeg administrerte Rambler-Contacts-prosjektet, det var en slik messenger.

Teknisk veiledning, arkitektur, pluss skrev noen komponenter. Og prosjektet vårt ble avsluttet på omtrent samme måte. Selv om vi hadde en kunde med et godt design og interessant funksjonalitet. Vi hadde fantastiske anmeldelser. Brukeranmeldelser kom inn: "Kul klient, flott design, gjør mer» osv.

Jeg husker en helt latterlig historie. På et tidspunkt ble vi fortalt at vi hadde truffet et "tak". Det var en vekst i brukere i henhold til timeplanen, og et sted stoppet det opp. Vi begynte å se nærmere på det og oppdaget denne tingen: en av annonsørene forfalsket annonsen «Last ned ICQ «Kontakter»». Vi så inn i loggene, og i loggene var det tusenvis av IC-pålogginger. De prøvde å logge på ICQ som vår klient, og Rambler kunne ikke slippe dem inn. De ble selvfølgelig ikke våre brukere.

Generelt var dette de siste dagene. Noen av lederne sa: kanskje vil det være mulig å redde prosjektet. Noen sa: nei, prosjektet er i ferd med å bli stengt. Dessuten ble dette sagt allerede før alle detaljene var avklart - hva skjedde, hvorfor veksten til publikum avtok. "14 personer har jobbet med prosjektet i to år, men vi avslutter det fortsatt." De prøvde ikke å redde det på noen måte, for å overta ekspertisen, de slukket rett og slett serverne og kastet alle ressursene som ble brukt.

Konklusjonen er enkel: dårlig ledelse kan drepe ethvert prosjekt.

Bedriftens ledelse, eller i hvert fall avdelingen, skal ha et klart og forståelig mål, som minimum skal formidles til ansatte. Men det må også være klart at beslutninger tas ut fra dette målet.

Selvfølgelig forlot jeg Rambler - til Mail.ru, hvor jeg hadde blitt kalt lenge. Jeg kom alene, men ble oppført som avdelingsleder, og fikk fullmakt til å skrive hva jeg vil og hvordan jeg vil ha det. Jeg begynte å skrive og rekruttere folk, og avdelingen vokste nesten umiddelbart til fem personer.

Formelt sett tilhører jeg «mail», men stort sett driver jeg med integreringsprosjekter. For eksempel APIer for Mail som forbinder den med omverdenen. Da avatarene og lenkene til alle slags sosiale nettverk ble mer eller mindre skrevet, ble jeg bedt om raskt å hjelpe til med "Cloud"-prosjektet. Jeg ble involvert i arbeidet og i 2 år nå har jeg jobbet på [email protected].

Jeg jobber med Perl i et ganske smalt felt - jeg forholder meg til asynkron nettverksapplikasjoner. De brukes av all høyt lastet programvare, der det er et stort antall forespørsler, eller et stort antall samtidige tilkoblinger, mange "ytre" handlinger, hvor hoveddelen venter. Gå til API-en til andre tjenester, oppdater hundretusenvis av nøkler og lignende.

I utgangspunktet jobber jeg med mange teknologier underveis, identifiserer og eliminerer ulike problemer. Belastningsnivået på en server når 30-40 tusen forespørsler per sekund, og jeg bekymrer meg vanligvis for høy kodeytelse. Jeg er en ganske overbevist tilhenger av tilnærmingen om at programmer er skrevet for datamaskiner, og ikke for folk som da vil lese eller støtte dem. Vi skriver programmer for datamaskiner, datamaskiner må kunne lese og utføre dem effektivt.

For eksempel, en gang, da jeg kom hit, kom jeg over en e-postliste med ytelsestester av HTTP-servere i Perl og innså at de var mye dårligere (halvannen gang!) i forhold til eksisterende løsninger i Python, Node. Og han var indignert.

Jeg satte meg ned, la en plan for hvordan jeg skulle gjøre alt, hva som skulle skrives, planla optimalisering ved hjelp av C. Men i praksis stoppet jeg allerede før jeg plugget inn C-bitene, fordi jeg allerede hadde utkonkurrert alle Pearl-løsninger, Python og node. Jeg husker at den forrige løsningen var på nivået 2500-3000 forespørsler per sekund, Python tok 5000, Node - 6000, på ren Perl fikk jeg 8000 på én prosessorkjerne.

I ethvert problem kan følgende tilnærming brukes:
1. Vi setter et mål: å oppnå en bestemt beslutning.
2. Vi velger midler som kan tilfredsstille løsningen.
3. Hvis produktet er egnet - PROFIT
4. Hvis det ikke passer (og dette skjer vanligvis), så endrer vi enten løsningen med en fil, eller, hvis den ikke passer veldig bra, lager vi vår egen.
5. Vi gjennomfører komparative egenskaper ny løsning og eksisterende.
6. Hvis den eksisterende plutselig viser seg å være raskere, identifiserer vi stedet eller metoden som et slikt resultat oppnås på grunn av, og gjør endringer i den nye løsningen.

Er det lett å bli programmerer?

Det virker for meg at det nå er mye enklere å gå inn i yrket som programmerer enn for 15 år siden.

Jern er blitt mer tilgjengelig. I min tid kostet en datamaskin ganske mye; å kjøpe en til et barn var en alvorlig avgjørelse for foreldre.

Utviklingsmiljøene var så som så, og det var egentlig ikke noen populære språk som kunne distribueres raskt... Nå har verktøyene blitt smartere, det er pedagogiske ting der du bare kommer og løser problemer - Codeacademy, HTML Academy .

Codeacademy, verdens mest populære kodetreningsprosjekt, lar deg skrive kode med en gang, og hopper over den teoretiske opplæringen.

Konkurranse? Konkurransen har alltid vært lav. Det var nok for noen å skissere en HTML-side, sette en tagg med vinkelparenteser og spørsmål, og han begynte allerede å betrakte seg selv som en serverprogrammerer i PHP. Uten å vite i det hele tatt hva cgi er, hva headers er, HTTP. På dette nivået er det alltid konkurranse. Når en person allerede stiger i nivå og begynner å forstå arkitekturen til applikasjoner og hvordan det hele fungerer, blir selv arbeidsspråket uviktig.

Det er veldig enkelt å sjekke hvor interessert du er i programmering: du må åpne et hvilket som helst pedagogisk prosjekt og prøve å gjøre noe.

Og hvis du vil ha noe så livlig, mangfoldig, alt, men ikke desto mindre også godt betalt, er det Perl og C. Og hvis det er noe som en startup: å raskt sette sammen noe, lansere det og vise det til investorer, så er det her sannsynligvis verdt å se på Ruby, Go, kanskje Python. Her er hvordan du liker det. Noen liker kanskje Javascript med Angular og MongoDB.

En person må organisk akseptere syntaksen og tilnærmingene til språket han planlegger å skrive på. Hvis en person ikke liker å skrive, skriver han dårlig kode.

Jeg har sett javaister som skriver i Perl. Det er forferdelig. De er konstant misfornøyde, de er konstant indignerte, de liker ikke alt, og de streber etter å gjøre alt på sin egen måte. De prøver å lage hele dette fjellet av klasser, abstrakte fabrikker som ikke trengs i Perl. Det kan gjøres der, men han snakker om noe annet. Generelt kan du gjøre mye i Perl som er på andre språk, men det er ikke organisk for dette språket.

Perl - ganske særegent språk. Forfatteren er lingvist, og når han utviklet syntaksen til selve språket, brukte han alle slags, la oss si, lingvistiske tilnærminger. Grunnprinsippet er TIMTOWTDI - "hva som helst kan gjøres på mange måter" (det er mer enn én måte å gjøre det på).

Når noen sier om Pearl at det er vanskelig, at det er umulig å lese, kan jeg bare svare på én ting: du kan ta det kinesiske språket og si at språket er forferdelig, det er umulig å lese, ingenting er klart.

Ethvert språk, hvilken som helst teknologi du kommer over, må du først lære deg. Det er et lesenivå, det er et skrivenivå – nivået når du kan skrive på språket. De fleste studerer vanligvis en liten mengde, begynner å tro at de kan språket, og når de møter programmer skrevet ved hjelp av kompleks syntaks, kan de rett og slett ikke lese dem og begynner å hevde at språket er dårlig.

Det eneste som, etter min mening, Perl er dårlig egnet for er å skrive drivere. Det er vanskelig for meg å forestille meg hvordan jeg skal skrive drivere i Perl. Fortsatt ham svak side– matematikk, det er 20-30 ganger langsommere enn i C. Det vil si, hvis vi trenger å beregne determinanten til en 100*100 matrise, for dette må vi ta C eller noen språk som er spesielt skreddersydd for denne saken.

Jeg skrev i Java, og jeg kan si at JVM er en flott ting, veldig rask, du kan skrive ting med veldig høy ytelse på den. Vi hadde et Rambler-Contacts-prosjekt med en jabber-server i Java. Og javaistene kunne ikke lage en XML-parser ordentlig; de har alltid enten senket farten eller analysert den skjevt. Så jeg tok min C-baserte parser, som jeg hadde skrevet for Perl, og overførte den til Java. Jeg skrev det nettopp i Sis. Den analyserte kanskje flere ganger raskere enn det de hadde før. Og det var ikke buggy.

Generelt sett blir jeg kjent med nye språk, men jeg begynner ikke å skrive på dem, fordi jeg ikke har likt noen av dem bedre ennå. Perl får meg til å føle meg som en magiker.

Jeg kan gjøre hva som helst: sende slike forespørsler, analysere hva som helst, sette sammen, koble til C, og så videre. Med et annet språk vil det ta meg lang tid å nå samme nivå.

Hvis Perl ikke hadde eksistert, hadde jeg sannsynligvis holdt meg til Ruby. Men Ruby kunne ikke eksistere uten Pearl, som den lånte mye av.

Folk spør meg hvorfor jeg ikke lærte Python på en gang? Det er flere Python-stillinger. Og jeg har ikke lett etter en ledig stilling de siste årene - de ringer meg allerede: "Kom til oss for et intervju," "Er du ikke interessert i å flytte?" Det er en som hele tiden henger: de inviterer leker til å skrive, men jeg nekter fortsatt.

Hva skal man la seg inspirere av?

Personlig liker jeg å skape og forandre noe skapt. I den virkelige verden med ekte materialer ... jeg gjorde mange ting: behandle materialer, støpe metall - det er veldig vanskelig å kopiere noe, endre noe. Jeg ble interessert i smykkestøping, men det kreves ublu penger for å få utstyr. Du kan selvfølgelig gjøre det på den gamle måten, slik de gjorde for mange år siden, men nå finnes det kule apparater for å lage smykker. Bare kostnadene ved å prøve er enorme. Og du kan prøve deg selv i programmering praktisk talt gratis, bare på bekostning av tid. Og det er stor glede.

Ambisjon spiller nok også en rolle her. Jeg er glad når noen av mine komponenter, produkter eller andre moduler er raskere enn alle andre, på samme språk eller på forskjellige språk.

Dette skjer fra tid til annen: Jeg setter meg ned og skriver nye moduler ved å bruke noen nye tilnærminger og optimaliseringsmetoder. Jeg skriver dem, sammenligner dem med de andre, er fornøyd med at de er raskest, og bruker dem en stund. Tiden går - nye teknologier dukker opp, nye moduler dukker opp, noen tar de samme ideene fra meg, eller fra et annet sted (eller andre biblioteker brukes), de tar igjen meg, overgår meg, og jeg ser etter noe annet å optimalisere.

Riktignok har dette noe å gjøre med at jeg er en dårlig vedlikeholder. Jeg legger ut alt jeg skriver på github og på CPAN, men å gjenoppbygge gamle moduler er lat (selv om jeg prøver). Eksempel - Jeg har XML Parser Style - en plugin-modul for XML Parser. Dette er den første versjonen. Så finner jeg noe bedre, mer praktisk, mer interessant, og skriver neste modul. Da slutter jeg å bruke dem og skriver min egen XML Parser, veldig kult og raskt. Og problemet er at de sender meg patcher for de modulene jeg sluttet å bruke. Du ser på koden for tre år siden og ser: «Fy faen, dette er ineffektivt, skrev jeg det sånn? Eh, ja, alt dette må skrives om." Men å skrive om noe gammelt er ikke interessant – hvorfor?

Hvordan engasjere seg i (selv)læring?

Jeg har ikke lest en eneste IT-bok i hele min historie – fra begynnelse til slutt. Bortsett fra Norton og montøren hans. Og en liten bit av Kernighan og Ritchie, som jeg leste da jeg allerede skrev mye i C. Det var bare interessant å åpne den og lese den slik: Jeg vet dette, jeg vet dette, å, dette er interessant, jeg vet, jeg vet, jeg vet.

Hovedmaterialet i opplæringen min er dokumentasjon, dette er artikler, dette er kildekoder. Jeg liker veldig godt å lese kilder. Det er også praktiske eksperimenter og konkurranser, og i prinsippet prøver jeg å holde styr på hva som skjer generelt i miljøet, i sammenheng med "hva skjer hvis du tar med noe fra andre språk inn i Perl."

Jeg tok Scrum-sertifisering og studerte det, men det var ikke presserende nødvendig. Det er ikke slik at jeg plutselig innså: faen, jeg burde lære! Jeg har alltid hatt nok av min egen interesse. Når det på et tidspunkt ikke var nok arkitekturkunnskap, satte jeg meg ned og leste: om databaser, om nettverk.

Jeg underviste litt på MIPT... før jeg ble utvist derfra. I første semester på informatikk hadde jeg allerede studert Pascal inne og ute. 10 minutter per oppgave, resten av tiden sitter du på samme maskin og skriver noen fraktaler i assembler. Læreren vår så dette og sa: "Det er det!" Og han sier (til meg og en annen fyr som skrev i C++ i stedet for assembler): «Siden dere alle spiller opp her og dere ikke er interessert, så har dere undervist et C++-kurs til klassekameratene i seks måneder, og du leser assembler. Og jeg gir deg en karakter for hele året, ok?" Vel, ok.

Jeg lærte noe sånt som dette: en Norton-bok, en dag sitter jeg for meg selv, løser og studerer alle disse problemene, kommer på 14 forskjellige oppgaver, kommer og forteller dem, gir oppgaver. Overraskende nok klarte gruppen min forsamlingsspråk ganske bra.

Nylig har jeg sammen med to andre kule Perl-utviklere undervist i et Perl-programmeringskurs ved Moscow State University. Veldig interessant opplevelse, som viste at blant et stort utvalg mennesker vil det definitivt være mange som vil like dette språket.

Jeg liker generelt å fortelle historier. Da jeg fortsatt jobbet i Agave og gravde opp noen interessante ting, ba de meg fortelle dem. Jeg snakket på en liten intra-Pearl-fest i Moskva. Det viste seg at alle var interessert i dette, og ba om å fortelle om det. stor konferanse. Jeg dro til den store - YAPC::Russia 2008 - Jeg snakket i førti minutter pluss hele lunsjen. Jeg liker det. Jeg snakket på Highload-konferansen og et annet sted (tror jeg på devcon).

Da tenkte jeg: Jeg har fortalt deg alt jeg vet. Men praksis har vist at folk fortsatt ikke engang vet hva jeg allerede har fortalt mer enn én gang. Og dette kan gjentas. Og så dukket det opp muligheten til å fortelle dette til elevene. Dessuten forveksles ikke elevenes hjerner med tanker om at Perl er en ting fra forrige århundre. De er klare til å se mest på ulike teknologier, de er interessert i alt.

Hva kan man forvente av fremtiden?

Jeg må tenke på hvor alt går - siden jeg gjør dette. Jeg ser faktisk ingen forutsetninger for grunnleggende endringer i programmering. Vel, om 20-30 år vil språk endre seg: vi vil ikke bare skrive programmer, men programmer som skriver programmer.

Det vil skje en utvikling mot reduksjon i rutinedrift, mot gjentakelse av det samme. Kanskje et sted vil det være en endring i teknologi, som "la oss bytte fra krystaller til optikk."

Faktisk ligger alt i binær, matematisk logikk. Kanskje dukker det opp ting som er mer egnet for det som kalles "fuzzy logic". Da vil vi se noen andre programmeringsspråk og enheter skreddersydd for dette. All slags uklar logikk for bildegjenkjenning, for eksempel, ligger i dette området. Men jeg er selv lik matematiske applikasjoner Jeg liker dem ikke og studerer dem egentlig ikke, jeg liker å skrive i binær logikk: når det er en algoritme, en klar dimensjon... Jeg tror at denne modellen vil vedvare i det meste av livet vårt.

Til slutt bestemte vi oss for å spille en blitzrunde med spørsmål og svar med Mr. Anderson.

- Fortell meg en morsom historie fra skoleprogrammeringsdagene dine?

Da jeg flyttet til informatikk- og matematikkskolen i 10. klasse, skrev klassekameratene mine allerede i Pascal; de hadde fått det siden 8. klasse. Jeg mestret raskt syntaksen, men prøvde å bestå programmene i en leksjon. For jeg visste ikke hvordan jeg skulle spare! Ikke en eneste infeksjon fortalte meg hvordan jeg skulle lagre på denne fordømte disketten. Det ser ut til å gå videre og finne det ut, men på en eller annen måte kunne jeg ikke redde det, jeg husker ikke nøyaktig hvorfor. Det første semesteret i 10. klasse - karakteren min var knapt 3, rett og slett fordi jeg ikke visste hvordan jeg skulle spare. Foreldrene mine tenkte og tenkte, bestemte at jeg under slike omstendigheter ikke ville studere lenge på denne skolen, og kjøpte en hjemmedatamaskin.

– Hva var den første leken på hjemmedatamaskinen din?

- mener at enhver programmerer bør jobbe i en startup... Har du hatt slik erfaring?

Jeg forlot Agave for å lage nettsider. Vi kom sammen med flere mennesker, skjønte det, det var allerede ganske mange bestillinger på den tiden - hver tredje av våre bekjente (dette var miljøet) spurte: kan jeg lage en nettside til ham? Jeg begynte en gang å lage nettsider, men fra en ren programmeringsside gravde jeg: Jeg tenkte, nå skal jeg lage et universelt rammeverk. Tanken var denne: Jeg skal lage en designer, og så skal jeg bygge nettsider på den.

Praksis har vist at de ferdighetene jeg hadde da bare kunne støtte meg. Jeg så ingen måte å utvide på. Jeg kunne ha ansatt flere, men etter min mening ville de gjort enten det samme eller dårligere i samme hastighet, så vi hadde rett og slett delt pengene. Jeg har ikke sett noen vekst. Jeg overlot hvilke sider jeg hadde, bestemte meg for å gi opp denne saken og returnerte til Agava med en økning i lønn i forhold til den forrige. Det viste seg at heltidsarbeid på den tiden var mer lønnsomt enn frilansing.

Det virker for meg som om jeg er en dårlig startup-person fordi jeg ønsker å gjøre ting bedre, selv om det tar tid. En student som tillater seg å raskt nagle en prototype og vise den til en investor kan være en mer vellykket startuper enn meg.

Bruk tiden din

"Tidsstyring" er det mest populære navnet på denne ferdigheten. Mange mennesker er bekymret for bruken av tid: Tid er den eneste virkelig uerstattelige ressursen for oss. Og det er flere og flere distraksjoner rundt omkring. Vi tilbyr deg utprøvde tidsstyringsteknikker og verktøy.

Relatert ferdighet - .

– Angrer du på noe fra arbeidshistorien din?

Jeg angrer på at jeg brukte de første årene på all slags søppel, disse nettsidene, systemadministrasjon. Det ga meg litt erfaring, men jeg ville ha fått denne opplevelsen på mye kortere tid. Jeg tror jeg hadde likt det om jeg hadde gått til Mail.ru, gi eller ta, så snart jeg droppet ut av college og innså at det ikke var min greie å fikse datamaskiner.

For de som er yngre, vil jeg råde dem til å huske at tid er den eneste verdifulle ressursen.

Vi endrer det vanligvis til erfaring, og erfaring er heller ikke dårlig. Det blir bare vanskeligere senere, det er mer ansvar, handlefriheten går tapt. Å være student og kunne leve på halvannet tusen rubler i måneden (begynnelsen av 2000-tallet), har råd til hva som helst, hvilken som helst oppstart. Men når du har en familie og et stort boliglån, blir alt vanskeligere.