<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=Programer</id>
	<title>Programer - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=Programer"/>
	<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=Programer&amp;action=history"/>
	<updated>2026-06-10T15:10:34Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://croatianschoolsydney.com/index.php?title=Programer&amp;diff=445594&amp;oldid=prev</id>
		<title>WikiSysop: bnz</title>
		<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=Programer&amp;diff=445594&amp;oldid=prev"/>
		<updated>2022-03-24T05:06:14Z</updated>

		<summary type="html">&lt;p&gt;bnz&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Starija inačica&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Inačica od 05:06, 24. ožujka 2022.&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Redak 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Redak 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--'''Programer'''--&amp;gt;'''&lt;/del&gt;Programer''' - zanimanje koje uključuje zadavanje niza instrukcija u formaliziranom [[programski jezik|programskom jeziku]] uređaju ([[računalo|računalu]]) koji u ovisnosti o sadržaju instrukcije obavlja neku radnju.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Programer''' - zanimanje koje uključuje zadavanje niza instrukcija u formaliziranom [[programski jezik|programskom jeziku]] uređaju ([[računalo|računalu]]) koji u ovisnosti o sadržaju instrukcije obavlja neku radnju.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Opis posla ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Opis posla ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://croatianschoolsydney.com/index.php?title=Programer&amp;diff=399240&amp;oldid=prev</id>
		<title>WikiSysop: Bot: Automatski unos stranica</title>
		<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=Programer&amp;diff=399240&amp;oldid=prev"/>
		<updated>2021-12-16T12:04:41Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automatski unos stranica&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--'''Programer'''--&amp;gt;'''Programer''' - zanimanje koje uključuje zadavanje niza instrukcija u formaliziranom [[programski jezik|programskom jeziku]] uređaju ([[računalo|računalu]]) koji u ovisnosti o sadržaju instrukcije obavlja neku radnju.&lt;br /&gt;
&lt;br /&gt;
== Opis posla ==&lt;br /&gt;
Programerova je zadaća pisati, dopunjavati i održavati nizove naredaba (program, softver) koje računalo mora izvršiti u logičkom redoslijedu. [[Sistemski analitičar]] priprema funkcionalne specifikacije koje su osnova programerovog rada. To je dokument koji pomno određuje problem tj. zadaće koje računalo treba izvršiti, a programer ih raščlanjuje u što manje cjelina, prepoznavajući zakonitosti, sličnosti i njihove međusobne odnose. Rabeći dogovorene standarede i pomagala  izrađuje detaljan plan strukture programa, a potom napiše program u nekom od [[programski jezik|programskih jezika]]. Niz instrukcija zovemo izvornim kôdom programa. Programer piše i održava niz instrukcija u tom kôdu a koje računalo mora izvršiti. Time je ispunjen uvjet da računalo može obaviti neku radnju zadanu u programskom jeziku.&lt;br /&gt;
Srodna zanimanja programeru su [[sistemski administrator]] i [[sistemski analitičar]].&amp;lt;ref&amp;gt;[https://e-usmjeravanje.hzz.hr/programer e-Usmjeravanje] ''Programer/Programerka'' / Hrvatski zavod za zapošljavanje / 11. veljače 2020.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danas se najčešće programiraju elektronička računala iako je moguće programirati i mehaničke uređaje kao što su posebni klaviri, šivaći strojevi i drugi (tj. elektro-mehanički uređaji).&lt;br /&gt;
&lt;br /&gt;
[[Računarstvo|Računarstvo]] je znanost koja uči programere o umijeću samog programiranja i stvaranja računalnih programa.&lt;br /&gt;
&lt;br /&gt;
== Klasifikacija ==&lt;br /&gt;
&lt;br /&gt;
Nacionalna klasifikacija zanimanja iz 2010. godine&amp;lt;ref&amp;gt;[https://narodne-novine.nn.hr/clanci/sluzbeni/2010_12_147_3736.html narodne-novine.nn.hr], pristupljeno 7. srpnja 2019.&amp;lt;/ref&amp;gt; predviđa četiri različita zanimanja u programerskoj djelatnosti (251):&lt;br /&gt;
&lt;br /&gt;
* [[analitičar sustava|Analitičari]]/analitičarke sustava - 2511&lt;br /&gt;
* [[Razvojni inženjer]]i/razvojne inženjerke za programsku podršku - 2512&lt;br /&gt;
* Razvojni inženjeri/razvojne inženjerke internetskih i multimedijskih aplikacija - 2513&lt;br /&gt;
* Programeri/programerke za [[razvoj aplikacija]] - 2514&lt;br /&gt;
&lt;br /&gt;
Osim ovih određenih naziva, postoji i jedan grupni:&lt;br /&gt;
* Razvojni inženjeri i analitičari/razvojne inženjerke i analitičarke za razvoj programske podrške d. n. - 2519&lt;br /&gt;
&lt;br /&gt;
Ovi nazivi su moguće prikladni za uporabu u državnoj i javnoj upravi, gdje oznaka 2511 najvjerojatnije predstavlja sposobnije i iskusnije programere, koji zauzimaju upravljačke pozicije nad timovima programera u državnoj i javnoj upravi, oznake 2512 i 2513 se vjerojatno odnose na tzv. programere desktop (GUI) aplikacija (2512) odnosno mrežnih - internetskih aplikacija (2513), dok je oznaka 2514 najvjerojatnije namijenjena programerima početnicima.&lt;br /&gt;
&lt;br /&gt;
U privredi ne postoji ovakva klasifikacija, nego se susreće nešto složeniji model, za iskusne programere sposobne razviti najsloženije računalne sustave rabe se dva naziva:&lt;br /&gt;
&lt;br /&gt;
* dizajneri računalnih sustava (''software architect'')&lt;br /&gt;
* analitičari računalnih sustava (''software analyst'', ponekad ''systems analyst'')&lt;br /&gt;
&lt;br /&gt;
Iako se načelno bitno razlikuje razvoj tzv. desktop (GUI) aplikacija od razvoja mrežnih, odnosno [[web aplikacije|web aplikacija]], te programa odnosno aplikacija za mobitele, rastom brzine interneta i razlučivosti ekrana na mobitelima, zamjetno je postupno povećanje broja dostupnih web aplikacija na mobitelima, odnosno prijelaz na web aplikacije umjesto onih izrađenih specifično za mobitele. &lt;br /&gt;
&lt;br /&gt;
Alternativno rješenje mrežnim aplikacijama je razvoj programa pomoću multiplatformskih GUI toolkita poput [[Qt]]-a ili [[GTK]] (postoje i brojni drugi, iako su ova dva najčešća, npr. [[wxWidgets]]) pomoću kojih se programi rade tipično u C++-u, a mogu se jednako izvoditi na svim [[Linux]] distribucijama, [[Mac OS X]]-u i [[Windows]]ima. Doduše [[Mozilla Firefox]] i [[Mozilla Thunderbird]] su odabrali drugi put, na Linuxu rabe GTK, ranije GTK2, danas GTK3&amp;lt;ref&amp;gt;[https://wiki.mozilla.org/index.php?title=Category:Backends&amp;amp;oldid=200321 wiki.mozilla.org], objavljeno 6. veljače 2010., pristupljeno 8. srpnja 2019.&amp;lt;/ref&amp;gt;, na Macu i Windowsima rabe ''native'' grafičke toolikite. Sličan je izbor [[LibreOffice]], koji ima vlastiti ''vcl'' toolkit.&amp;lt;ref&amp;gt;[https://docs.libreoffice.org/vcl.html docs.libreoffice.org], pristupljeno 8. srpnja 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unatoč mogućoj klasifikaciji prema izboru toolkita ili ciljne platforme, najčešća je ona prema programskome jeziku, te je najčešća podjela na dvije ili tri razine:&lt;br /&gt;
&lt;br /&gt;
* mlađi programer u programskom jeziku X&lt;br /&gt;
* programer u programskom jeziku X&lt;br /&gt;
* stariji programer u programskom jeziku X&lt;br /&gt;
&lt;br /&gt;
X može biti praktično svaki programski jezik danas u uporabi, od [[Basic]]a (najčešće Microsoftov VisualBasic, za računovodstvene programe), [[Pascal]]a (Delphi), do [[PHP]]-a, [[Java|Jave]], [[Python]]a ili [[Perl]]-a. Nema smisla navoditi sve programske jezike, no smisleno je spomenuti da iako neki programski jezici nisu u širokoj uporabi, npr. [[Erlang]] koji se danas skoro isključivo rabi za telefonske centrale, obzirom da u Hrvatskoj postoji Ericsson Nikola Tesla, u Hrvatskoj ima smisla znati i poneki egzotičan programski jezik.&lt;br /&gt;
&lt;br /&gt;
== Sposobnosti odnosno kompetencije tražene od programera ==&lt;br /&gt;
&lt;br /&gt;
Tipično se traži:&lt;br /&gt;
&lt;br /&gt;
* analitičnost&lt;br /&gt;
* pedantnost&lt;br /&gt;
* komunikativnost&lt;br /&gt;
&lt;br /&gt;
Objašnjenje je samorazumljivo, programer koji nema nad sobom analitičara, nego komunicira direktno s kupcem, ako nije analitičan i ispunjava želje kupca bez razmišljanja o posljedicama će često raditi istu stvar nekoliko puta.&lt;br /&gt;
&lt;br /&gt;
Programer koji nije pedantan će vječno istjerivati bugove. Ovo je danas olakšano time što su danas [[linter]]i često dio [[IDE]]-a, osim što ih je moguće rabiti kao zasebne alate.&lt;br /&gt;
&lt;br /&gt;
Programer koji nije komunikativan će slabo prenijeti bilo šefu ili klijentu što ne valja u njihovim zamislima kako program treba izgledati, ishod slabe komunikacije je uvijek isti - dulje trajanje projekta, odnosno slabija kvaliteta bilo kôda ili konačnoga proizvoda.&lt;br /&gt;
&lt;br /&gt;
Od znanja se tipično traži:&lt;br /&gt;
&lt;br /&gt;
* poznavanje određenog programskog jezika, tj. pisanja kôda u njemu, što se ugrubo može svesti na znanje naredbi za programski tok (petlje), tipove i strukture podataka&lt;br /&gt;
* općenito poznavanje algoritama&lt;br /&gt;
* poznavanje specifične tehnologije za određeno radno mjesto; za računovodstvene aplikacije uz određeni programski jezik podrazumijeva se napredno znanje [[SQL]]-a, jezika za upravljanje bazama podataka, tipično MSSQL dijalekta; za mrežne aplikacije najčešće se podrazumijeva najmanje osnovno znanje [[SQL]]-a, tipično MySQL, PostgreSQL ili SQLite dijalekta&lt;br /&gt;
* poznavanje sustava za upravljanje i [[Upravljanje izvornim kôdom|verzioniranje programskoga kôda]]&lt;br /&gt;
&lt;br /&gt;
== Napredne programerske sposobnosti ==&lt;br /&gt;
&lt;br /&gt;
Ovdje bi se moglo pisati o ''design patternima'', ali ključno je - poznavati razne programerske metodologije i imati dobar osjećaj, tj. znati kada treba primjeniti koju tehnologiju odnosno metodologiju.&lt;br /&gt;
&lt;br /&gt;
Jedan od osam ishoda učenja na predmetu &amp;quot;Objektno oblikovanje&amp;quot; na [[FER]]-u je:&amp;lt;ref&amp;gt;[https://www.fer.unizg.hr/predmet/objobl www.fer.unizg.hr], pristupljeno 8. srpnja 2019.&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{citat|Objasniti prednosti agilnog pristupa razvoju informacijskih sustava i kako oblikovanje usmjereno domenom potpomaže takav agilni razvoj.|Objektno oblikovanje, ishod 8 od 8.}}&lt;br /&gt;
&lt;br /&gt;
Iako su moderne metodologije nesumnjivo korisne pri razvoju kôda u velikim sustavima, primjenjivanje bilo koje metodologije umjesto postojeće; npr. dodavanje UML dijagrama na postojeću dokumentaciju, ili kao zamjena postojeće dokumentacije - može biti korisno (ako je postojeća dokumentacija nepotpuna), ali jednako tako može biti samo suvišno trošenje vremena (ako je postojeća dokumentacija potpuna i dobra). Iterativni pristup umjesto metodologije vodopada (''waterfall'') je nužan tamo gdje klijent ne zna što želi, i želi to jučer. Ali tamo gdje su poslovni procesi jasno specificirani možda dulje od sto godina, te bilo kakve promjene ili improvizacije ne dolaze u obzir, u takvim slučajevima iterativni pristup može djelovati neozbiljno.&lt;br /&gt;
&lt;br /&gt;
Dvije se metodologije odnosno prakse mogu izdvojiti kao korisne napredne prakse:&lt;br /&gt;
&lt;br /&gt;
* sposobnost za povremeno neustrašivo testiranje i promjenu sustava&amp;lt;ref&amp;gt;[https://dev.to/veebuv/hiring-failure-tolerant-personalities-a64 dev.to], &amp;quot;Hiring failure tolerant personalities&amp;quot;, objavljeno 4. srpnja 2019., pristupljeno 8. srpnja 2019.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[programiranje u paru]]&amp;lt;ref&amp;gt;[https://www.freecodecamp.org/news/the-benefits-and-pitfalls-of-pair-programming-in-the-workplace-e68c3ed3c81f/ www.freecodecamp.org], objavljeno 22. kolovoza 2017., pristupljeno 8. srpnja 2019.&amp;lt;/ref&amp;gt; - (''Pair programming'')&lt;br /&gt;
&lt;br /&gt;
Prva praksa je djelomično samorazumljiva. U polju gdje nema očitih rješenja, ponekad je potrebno proći postupak &amp;quot;pokušaj-promašaj&amp;quot; x N-1, da bi se u N-tom koraku došlo do ishoda &amp;quot;pokušaj-uspjeh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Druga je praksa jasnija, radi se ili o vidu mentorstva, gdje iskusniji programer uči neiskusnijeg primjerom, odnosno mlađi pokazuje što je naučio; ili se radi o pristupu - 4 oka (6 odnosno 8 ako su naočale u igri) na isti problem, te je mogućnost pogreške kad dvije osobe gledaju istu stvar bitno smanjena, a izbjegava se slučaj da jedan programer pet minuta ili sat vremena gleda u jedan komad kôda. Ako dva dovoljno pedantna i dovoljno sposobna programera prolaze komad kôda s pogreškom redak po redak, pogreška se mora naći, pitanje je samo vremena, a motivacija u paru je bitno veća kad se traži pogreška (bug) u tuđem (ali i svojem) programskom kôdu.&lt;br /&gt;
&lt;br /&gt;
Napomena: sva navedena znanja, metodologije i prakse su stvar pojedinca, osim zadnje prakse (programiranje u paru), što je metodologija za koju je potrebno dvoje; navedena metodologija se uvodi ili spontano, ili odlukom uprave.&lt;br /&gt;
&lt;br /&gt;
== Izvori ==&lt;br /&gt;
&lt;br /&gt;
{{izvori}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorija:Programsko inženjerstvo]]&lt;br /&gt;
[[Kategorija:Zanimanja]]&lt;br /&gt;
&lt;br /&gt;
[[de:Programmierer]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>