Jump to content
GSForum - Segélyvonal

Hogyan tanuljunk programozni?


Kovács Dávid ( Davs )
 Share

Recommended Posts

Kovács Dávid ( Davs )

Szerintetek melyik módszer a "legjobb" a tanulásra? Valaki a könyvekre, online tanfolyamokra esküszik, és valaki arra esküszik, hogy minden nélkül a kódot olvasgasd...

Mi a véleményetek?

Link to comment
Share on other sites

arpsoft

Programot írni nagyon egyszerű. A problémát egyre kisebb részekre kell bontani, míg olyan kicsi részekhez nem érünk, hogy azt már megérti a gép.

 

A lényeg a felbontásban van. És ehhez lehet neked akármilyen tanfolyamod, vizsgabizonyítványod vagy tankönyved, nem fog menni, ha nem tudsz logikusan gondolkodni. Szerintem egyébként jó szakkönyvek nélkül (papír könyvekre gondolok) nehéz boldogulni.

 

Sokan azt hiszik, programozni egyszerű, mert földobálom a formra a vezérlőket, megírok egy-két eseményt, aztán kész. Nem mondom, ez a program működhet, de nem biztos, hogy hatékony is lesz, mert nincsen megtervezve.

A helyes folyamat: problémaelemzés->tervezés->kódolás->tesztelés

 

Ebből az első kettő a lényeg. Ha az nincs rendben, akkor vagy nem lesz hatékony a progi, vagy bugos lesz.

Van egy könyv egyébként, amiből programtervezést lehet tanulni. A címe is ez.

A Kiskapu kiadónál jelent meg. Ezen kívül tudom javasolni még az "Algoritmusok" című könyvet, bár az erős halmazelméleti tudást követel.

 

A webes cuccokhoz inkább online irodalmat javaslok, mert azok jobban követik a szabványok változását, illetve az újdonságok hamarabb megtalálhatók bennük, de a papír irodalom itt is elengedhetetlen (én pl a PHP4 fejlesztők kézikönyvét forgatom elég gyakran, bár 'csak' egy nyelvi referencia 'csupán'.)

 

Adatbázisokhoz meg SQL 89, esetleg SQL 92 (ezt még nem támogatják a motorok teljes egészében) az alap tudás, ezt szerintem csak hosszú gyakorlással lehet elsajátítani, mert meg kell tanulni SQL-ül gondolkodni, hogy igazán jó lekérdezéseket tudjál írni.

Link to comment
Share on other sites

Kovács Dávid ( Davs )

Az említett SQL-ek hasonlítanak a MySQLl-re?

 

Ja, és :

off: Melyek a nagyobb on-line könyvtárak?

on: Van-e olyan on-line könyvtár, ahol ilyen webes, programozási könyvek vannak fent?

Link to comment
Share on other sites

arpsoft

Könyvtárat nem tudok, igazából online oktató anyagokat lehet találni (ilyen how to szerûeket). A google segít, meg a tzoli. ;)

 

A fenti sql-ek maguk a szabványok, mivel az sql egy szabványos lekérdezõ nyelv. Egy magára valamit adó adatbázismotor (például mysql, postgres sql, stb) megérti az így formázott lekérdezéseket. De errõl is rengeteg anyag van a weben. (Igaz, javarészt ékes angol nyelven, de hát a számtech már csak ilyen.)

Link to comment
Share on other sites

google
A google segít...

A nagybetűs inkább. :)

A kisbetűs még tanulja. B)

Link to comment
Share on other sites

George

Hogy hogyan tanuljunk? Szerintem könyv és gép kombinációval: begépeljük az egyszerûbb programkódot és utána kielemezzük magunknak, hogy mi mit is csinál tulajdonképpen. ;)

Link to comment
Share on other sites

Kovács Dávid ( Davs )

Hát, könyv híján. Mert konkrétan most Pythont akarnék tanulni...

Link to comment
Share on other sites

Kiskiváncsi

Ajánlom figyelmedbe, hogy próbálj meg a számítógéped eszével goldolkodni. Valamint azt írd a programba, amit a géped elvár.

 

Komolyabban. Véleményem szerint kezdetekhez kell a könyv, mert valahogy el kell indulni. Késõbb már inkább a más programmegoldásokban lehet körülnézni, hogy Õk hogy oldottak meg 1-1 témát. Ugyanis több melodás és megközelítés is lehetséges az esetek jelentõs részében. Nem árt azért a saját meoldások keresése sem. Jó szórakozást!

Link to comment
Share on other sites

  • 1 month later...
marcee5

Én úgy vagyok vele hogy magamtól tanultam meg programozni Delphiben, 2005-ben. Nézegettem egy-két alap forráskódot, meg irogattam, aztán valami összejött. Azért szeretnék egy delphis könyvet, hogy erre ráépítsek és hogy egyszerûbben tudjam leírni a programomat, mert elég bonyolultan tudom kijavítani a bugokat.

 

PL.: (na ezt ha kibogarászod!) :upsz:

 

procedure TWin2kAppForm.Button7Click(Sender: TObject);
begin
if (listbox1.Items.Strings[listbox1.ItemIndex]='') then
begin
messagebox(error, 'Nincs elem kijelölve!', 'HIBA',MB_OK);
end
else
begin
progressbar1.Position:=progressbar1.position - 1;
deletefile(listbox1.Items.Strings[listbox1.Itemindex] + '.ikv');
listbox1.DeleteSelected;
end;
if listbox1.Items.Text='' then
begin
end
else
begin
listbox1.ItemIndex:=0;
end;
end;

procedure TWin2kAppForm.Button8Click(Sender: TObject);
begin
begin
with OpenDialog do
 begin
   FileName := FFileName;
   if Execute then
     listbox1.Items.LoadFromFile(FileName);
     FFileName := FileName;
end;
end;
end;
procedure TWin2kAppForm.Button9Click(Sender: TObject);
begin
printdialog1.Execute;
richedit1.Print('KöVet árlista nyomtatás');
end;

procedure TWin2kAppForm.Ment(Sender: TObject; var Action: TCloseAction);
begin
listbox1.Items.SaveToFile('items.kva');
reg:=Tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.KeyExists('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar') then
begin
reg.OpenKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar', true);
reg.WriteInteger('progressbar1', progressbar1.Position);
reg.CloseKey;
end
else
begin
reg.CreateKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar');
reg.OpenKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar', true);
reg.WriteInteger('progressbar1', progressbar1.Position);
reg.CloseKey;
reg.Free;
end;
end;

procedure TWin2kAppForm.Betolt(Sender: TObject);
begin
if fileExists('items.kva') then
begin
listbox1.Items.LoadFromFile('items.kva');
end
else
begin
listbox1.Items.SaveToFile('items.kva');
end;
reg:=Tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.KeyExists('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar') then
begin
reg.OpenKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar', true);
progressbar1.Position:=reg.ReadInteger('progressbar1');
reg.CloseKey;
end
else
begin
reg.CreateKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar');
reg.OpenKey('Software\MeeSoft.\Kölcségvetés-készítõ\progressbar', true);
reg.WriteInteger('progressbar1', 0);
progressbar1.Position:=reg.ReadInteger('progressbar1');
reg.CloseKey;
reg.Free;
end;


end;

procedure TWin2kAppForm.Button10Click(Sender: TObject);
begin
form1.button3.Visible:=FALSE;
form1.button1.Visible:=TRUE;
form1.Label7.Caption:='Elem szerkesztése';
form1.Listbox1.Items.LoadFromFile(listbox1.Items.Strings[listbox1.itemindex] + '.ikv');
form1.Edit6.Text:=form1.listbox1.Items.Strings[0];
form1.combobox2.Text:=form1.listbox1.Items.Strings[0];
form1.edit2.Text:=form1.listbox1.Items.Strings[1];
form1.edit3.Text:=form1.listbox1.Items.Strings[2];
form1.edit4.Text:=form1.listbox1.Items.Strings[3];
form1.edit5.Text:=form1.listbox1.Items.Strings[4];
if (form1.listbox1.Items.Strings[5]=('0')) then
begin
form1.combobox1.ItemIndex:=0;
end;
if form1.listbox1.Items.Strings[5]='1' then
begin
form1.combobox1.ItemIndex:=1;
end;
if form1.listbox1.Items.Strings[5]='2' then
begin
form1.combobox1.ItemIndex:=2;
end;
if form1.listbox1.Items.Strings[5]='3' then
begin
form1.combobox1.ItemIndex:=3;
end;
if form1.listbox1.Items.Strings[5]='4' then
begin
form1.combobox1.ItemIndex:=4;
end;
form1.ShowModal;
end;

procedure TWin2kAppForm.ListBox1Click(Sender: TObject);
begin
if listbox1.Selected[listbox1.ItemIndex] then
begin
form1.Listbox1.Items.LoadFromFile(listbox1.Items.Strings[listbox1.itemindex] + '.ikv');
edit8.Text:=form1.listbox1.Items.Strings[0];
edit9.Text:=form1.listbox1.Items.Strings[1];
edit10.Text:=form1.listbox1.Items.Strings[2];
edit11.Text:=form1.listbox1.Items.Strings[3];
edit12.Text:=form1.listbox1.Items.Strings[4];
if (form1.listbox1.Items.Strings[5]=('0')) then
begin
edit13.Text:=('<nincs>')
end;
if form1.listbox1.Items.Strings[5]='1' then
begin
edit13.Text:=('db')
end;
if form1.listbox1.Items.Strings[5]='2' then
begin
edit13.Text:=('m')
end;
if form1.listbox1.Items.Strings[5]='3' then
begin
edit13.Text:=('fm')
end;
if form1.listbox1.Items.Strings[5]='4' then
begin
edit13.Text:=('kg')
end;
if form1.listbox1.Items.Strings[5]='4' then
begin
edit13.Text:=('l')
end;
end;
end;


procedure TWin2kAppForm.Button11Click(Sender: TObject);
begin
 if (listbox1.Itemindex=progressbar1.Position - 1) then
  begin
   listbox2.Items.LoadFromFile(listbox1.Items.Strings[progressbar3.position] + '.ikv');
   listbox3.Items.Add(Listbox2.items.Strings[1] + '*(1' + listbox2.Items.Strings[2] + '/100)*' + listbox2.Items.Strings[4]);
    if checkbox1.Checked then
     begin
      if checkbox1.Checked then
      begin
      edit14.Text:=(listbox3.Items.Strings[progressbar2.Position] + edit15.text);
      end
      else
      begin
      edit14.Text:=(listbox3.Items.Strings[progressbar2.Position] + '+' + edit15.text);
      end;
     end
     else
     begin
      if checkbox1.Checked then
      begin
      edit15.Text:=(edit15.text + listbox3.Items.Strings[progressbar2.Position]);
      end
      else
      edit15.Text:=(edit15.text + '+' + listbox3.Items.Strings[progressbar2.Position]);
      end;
   if checkbox1.Checked then
    begin
     checkbox1.Checked:=FALSE;
    end
    else
    begin
  checkbox1.Checked:=TRUE;
    end;
    end

else

  begin
  listbox2.Items.LoadFromFile(listbox1.Items.Strings[progressbar3.position] + '.ikv');
  listbox3.Items.Add(Listbox2.items.Strings[1] + '*(1' + listbox2.Items.Strings[2] + '/100)*' + listbox2.Items.Strings[4]);
   if checkbox1.Checked then
    begin
     if checkbox1.Checked then
      begin
      edit14.Text:=(listbox3.Items.Strings[progressbar2.Position] + edit15.text);
      end
      else
      begin
      edit14.Text:=(listbox3.Items.Strings[progressbar2.Position] + '+' + edit15.text);
      end;
    end
    else
    begin
if checkbox1.Checked then
      begin
      edit15.Text:=(edit15.text + listbox3.Items.Strings[progressbar2.Position]);
      end
      else
      edit15.Text:=(edit15.text + '+' + listbox3.Items.Strings[progressbar2.Position]);
      end;
   if checkbox1.Checked then
    begin
     checkbox1.Checked:=FALSE;
    end
    else
    begin
     checkbox1.Checked:=TRUE;
    end;
  progressbar2.Position:=progressbar2.position + 1;
  if progressbar3.Position=progressbar1.Position -1 then
   begin
   end
   else
   begin
    progressbar3.Position:=progressbar3.Position + 1;
    button11.Click;
  end;
end;
end;


procedure TWin2kAppForm.Button12Click(Sender: TObject);
begin
checkbox1.Checked:=TRUE;
progressbar2.Position:=0;
progressbar3.Position:=0;
listbox3.Clear;
listbox2.Clear;
richedit2.Clear;
listbox1.ItemIndex:=0;
button11.Click;
end;


procedure TWin2kAppForm.Button14Click(Sender: TObject);
begin
frm_math_Solver.ShowModal;
end;

procedure TWin2kAppForm.Timer1Timer(Sender: TObject);
begin
timer1.Interval;
if
listbox1.Items.Text='' then
begin
button7.Enabled:=False;
button10.Enabled:=false;
button13.Enabled:=false;
end
else
begin
button7.Enabled:=true;
button10.Enabled:=true;
button13.Enabled:=true;
end;
end;

procedure TWin2kAppForm.Button15Click(Sender: TObject);
begin
remain.MainForm.ShowModal;
end;

procedure TWin2kAppForm.Button16Click(Sender: TObject);
begin
frm_math_solver.edit_input.Text:=richedit2.Text;
frm_math_solver.but_compute.Click;
edit14.text:=frm_math_solver.edit_output.Text;
end;

procedure TWin2kAppForm.Button17Click(Sender: TObject);
begin
if listbox1.Selected[progressbar1.Position] then
begin
end
else
begin
deletefile(listbox1.Items.Strings[progressbar2.Position] + '.ikv');
progressbar2.Position:=progressbar2.position + 1;
progressbar1.Position:=progressbar1.Position - 1;
end;
end;

procedure TWin2kAppForm.Button18Click(Sender: TObject);
begin
progressbar2.Position:=0;
listbox1.Clear;
end;

procedure TWin2kAppForm.Button13Click(Sender: TObject);
begin
edit14.Clear;
edit15.Clear;
checkbox1.Checked:=TRUE;
button12.Click;
frm_math_solver.edit_input.Text:=edit14.text;
frm_math_solver.but_compute.Click;
richedit1.Lines.Add(frm_math_solver.edit_output.text)
end;

procedure TWin2kAppForm.Action1Execute(Sender: TObject);
begin
form2.ShowModal;
end;

end.


Itt a listbox volt a legnagyobb gondom! IDEGTÉPÕ!! Ha nem jelölök ki vlmit, akkor hibát jelez. Ha beállítom hogy

procedure TWin2kAppForm.Timer1Timer(Sender: TObject);
begin
timer1.Interval;
if
listbox1.Items.Text='' then
begin
button7.Enabled:=False;
button10.Enabled:=false;
button13.Enabled:=false;
end
else
begin
button7.Enabled:=true;
button10.Enabled:=true;
button13.Enabled:=true;
end;
end;

Ne kérdezzétek, mi miért van! Így jött össze! De az csak ez egyik formnak egyik része.

 

Azért timerrel csináltam, mert így 10 ezredmásodpercenként ellenõrzi. Csakhogy ha írok bele valamit, akkor már nem '' a szövege. És bukott az egész. (Erre ment rá két napom, hogy megcsináljam). Végülis úgy oldottam meg, hogy mindig ki legyen jelölve az egyik.

 

A gondom csak az, hogy ugyanezt a forráskódot szeretném egyszerûbben leírni. Ezért szeretnék csak könyvet. Csak hogy egy picit még gyûjtenem kell hozzá.

Link to comment
Share on other sites

arpsoft

Elég átláthatatlan, látszik, hogy nincs megtervezve, csak kódolás van, eszetlenül.

Mit szeretnél egyáltalán csinálni? ;)

Link to comment
Share on other sites

  • 2 months later...
Calyd

Milyen topikok vannak... :) (Bár amilyen rég volt ebben hozzásszólás, úgyse olvassa majd senki sem az enyémet :))

 

@marcee5:

Ahogy arpsoft is írta, a kód teljesen rendezetlen, átláthatatlan. Ajánlatos tördeléseket használni, bizonyos dolgokat beljebb kezdeni. Én például el szoktam különíteni az eljárások/függvények begin-end-jét a bennük használt többitõl. Megjegyzések használata is ajánlott (szerintem minden programnyelvben).

 

Általánosságban a témához: én egyelõre csak az egyetemen tanulok programozni, és egyelõre csak Turbo Pascalt (infotanár szak egyébként :)). De már ilyen kevés programozási ismeret után is látom, hogy a helyes gondolkodásmód kialakítása milyen fontos volt nálunk. Voltak akik úgy jöttek ide, hogy "tudnak programozni". De azt sem tudják mit miért csinálnak. Ha pedig összetettebb dolgok elé kerülnek, akkor csak valami összevisszaság lesz az egészbõl. Nekünk meg egy csomó alaptételt tanítottak -- alapfeladatok általánosított algoritmusait --, amik nagyon könnyen átalakíthatók a feladatnak megfelelõen.

 

Azt szokták mondani, hogy programozni nem papíron kell. Ez tény, de azért nem árt egy vázlat, specifikáció. Sõt! Egy tényleg jó specifikáció és abból algoritmus elkészítése melós, de utána fél pillanat a kód megírása, és szinte bizonyos, hogy nem lesz bugos a program.

 

Amit én személy szerint tudok tanácsolni a programozni kezdõknek, hogy az algoritmusokat kövessék végig valami nagyon egyszerû példán, mert utána már érti az ember a lényegét, és egy általános algoritmust késõbb könnyen fel tud használni egy specifikusabb feladatban. Én például még az elsõ félévben a rendezésekkel veszõdtem egy picit. Aztán fogtam egy számsort pl 2, 6, 4, 3, 1, 5 és ezt a különbözõ rendezésekkel rendbetettem. :)

 

Könyvek olvasása is hasznos lehet, mert magyarázatok vannak benne, és az mindig jó. :)

 

Na, kb. ennyi :)

Link to comment
Share on other sites

atzs

Nagyon hasznos szerintem a Dr. Hetényi Pálné (ed) (1987): Számítástechnika középfokon – Országos Mûszaki Információs Központ és Könyvtár, Budapest Ehhez tartozik két feladatgyûjtemény is.

Szerettem a Dr. Brücknekr Huba - Lukács Ottó: A folyamatábráktól a programozásig (Tankönyvkiadó, Budapest, 1987) könyvet is. Az az egy baja van, hogy C64-re és BASIC-re készült,

 

Ahogy Arpsoft írta, a fontos a gondolkodásmód elsajátítása. Bár nem is ez a helyes kifejezés. Gyakorolni kell, amíg rá nem érzel a dolgokra. Ebben segít pl. a fenti két könyv.

 

Ha ez már megvan, és profinak érzed magad (ennek alapfeltétele, hogy gondolkodás nélkül ki tudd cserélni két változó értékét úgy, hogy közben egyik sem veszik el - ezt a feladatot szoktam a hallgatók tesztelésére használni ;) ), akkor vedd elõ Knuth: A számítógépprogramozás mûvészete címû könyvét. Annak is mondjuk a 3. kötetét. Több száz oldal, és csak a rendezõalgoritmusokról szól. Na ott lehet egy kicsit beleérezni, mi is az a zongorázható különbség.

(Nem véletlenül becézik a Knuth könyveket programozóbibliának...)

Link to comment
Share on other sites

Kovács Dávid ( Davs )
(ennek alapfeltétele, hogy gondolkodás nélkül ki tudd cserélni két változó értékét úgy, hogy közben egyik sem veszik el

x=6

z=7

x, z = x, z

:upsz: Ezzel kicserélem (talán) Pythonban ;)

 

U.i.: Tesztelve, mûködik :D

Link to comment
Share on other sites

payskin

Ez komoly? Ilyen szintaktikával? :pislog:

 

Ha ez már megvan, és profinak érzed magad (ennek alapfeltétele, hogy gondolkodás nélkül ki tudd cserélni két változó értékét úgy, hogy közben egyik sem veszik el - ezt a feladatot szoktam a hallgatók tesztelésére használni  ;) ),

atzs, kérdeztem már, hogy hol tanítasz? :hááát: Másik kérdés: szabad hozzá harmadik változót használni vagy (számok esetén) a nélkül? ;) (Persze, tudom, rossz kérdés, az utóbbi inkább matematikai gondolkodás, mint programozói.)

Link to comment
Share on other sites

Kovács Dávid ( Davs )
Ez komoly? Ilyen szintaktikával? :pislog:

Igen ;) Pythonban nem kell ; a parancsok végére :D kipróbáltam, és a kódom jól lefutott :P

Link to comment
Share on other sites

payskin

Nem is a pontosvesszõvel van a bajom, hanem ezzel:

 

x, z = x, z

Ez milyen szintaktika már? Túl öreg vagyok már ehhez? Kifordított lengyel logika?

Link to comment
Share on other sites

Kovács Dávid ( Davs )

x, z = x, z

 

Ez egyenlõ ezzel:

x=z

z=x, vagy mi. Az elsõ, az x, az utolsó értékét vesz fel, tehát a z-ét. A második, a z, pedig az egyenlõség utáni változó értékét veszi fel. A Pythonban sok dolog egyszerûbb, mint máshol.

Link to comment
Share on other sites

payskin

Megyek, keresek egy oktatóoldalt hozzá. Ezt a nyelvet meg kell ismernem! :pislog::bezsong:

Link to comment
Share on other sites

eremit
Ha ... profinak érzed magad (ennek alapfeltétele, hogy gondolkodás nélkül ki tudd cserélni két változó értékét úgy, hogy közben egyik sem veszik el - ezt a feladatot szoktam a hallgatók tesztelésére használni  ;) )

Aki ezt meg tudja csinálni, az lehet, hogy olyan messze van még a profi programírástól, mint Makó Kamcsatkától. Ez a változó érték csere-bere már egy heti, programozás-tanulás után is pofonegyszerû feladat.

Persze, úgy is lehet értelmezni az idézetet, mint pl. egy ûrrepülõgép vezetésének alapfeltétele, hogy valaki tudjon biciklizni.

Link to comment
Share on other sites

payskin

Abban a szerencsés helyzetben vagyok, hogy mindezt élõben figyelhetem: több mint egy hónapja járok egy webmester tanfolyásra, amirõl azt hittem, PHP/SQL lesz, de kiderült, hogy HTML-tõl kezdve a CSS-en és a JavaScripten át jutunk el a PHP-ig, hogy azok is eljöhessenek a tanfolyamra, akik még nem tudnak programozni.

 

Már 2 hete JavaScriptezünk -- értsd: bevezetés a programozásba --, heti két alkalom, alkalmanként 5 óra; és a kezdõk réges rég elvesztették a fonalat. Szerencsére mindenkinek volt legalább valami kis alapja, amivel idejött, de a feladatokat mindössze hárman-négyen tudjuk megoldani (12-en vagyunk a csoportban). A legszembetûnõbb jele annak, hogy a csoport nagy részének köze nincs a dologhoz, amikor egy feladat megoldásaként egy 8-10 soros program felkerül a táblára, a tanár félórán keresztül magyarázza, megkérdezi, hogy oké-e, majd jön a következõ feladat, melynek megoldása egy sorban tér el az elõzõtõl, és azt is csak mi tudjuk megoldani.

 

Szóval, ha kedden bemennék, és feltenném ezt a kérdést, hogy tessék, két változó tartalmának cseréje, szerintem pont akkora hallgatás volna, mint amikor azt kérdezi a tanár, hogy "Mindenki érti?" Nem érteni ugyanis nyilván ciki.

 

Az tény, hogy ez még nem jelent profi programozást. De ha ezt kapásból vágod, pláne anélkül, hogy valaha is megmutatták volna, az azt jelenti, hogy már tudsz úgy gondolkodni.

Link to comment
Share on other sites

Kovács Gyula (MiniDisk)

Balázs: olvastam/om a blogodat - MSN - tanulságos.

 

Érdekes ez a javascript dolog, meg az egész programozás. Én úgy vagyok vele, hogy elkezdeni (java, php) nehezebb mint egy meglévõt tetszés szerint módosítani, bõvíteni.

 

A html, és a css az más. Az már alkotás. Felépítesz valami, összerakod elemrõl elemre, míg a váz kész nem lesz. A css meg a szépítés, szinezés, kinézet alakítás. Ez mûvészet.

 

Amikor az ember weboldalt programoz, akkor kicsit kell egyfajta minimális térbeli képzelõerõ, egy kicsi mûvészi hajlam, hogy igazán szép oldalakat csinálj. Elõre kell látni azt, amit meg akarsz alkotni. A php, és a javascript, és a többi programnyelv szerintem az már más. Ott nincs igazán látható végeredmény, csak "csinál valamit" az adott program. Nem igazán tudnám megfogalmazni, hogy milyen, de ahhoz tényleg "csak" tudni kell az alkalmazható szabályokat. Azt hiszem, a javascripttel, és a php-vel kapcsolatban nekem is sok kérdésem lennen a tanárhoz. Holott érdekel a dolog.

Link to comment
Share on other sites

payskin

Ez nem teljesen van így MD. Nagyon gyakran éppen a JavaScript vagy a PHP kód dönti el, hogy mi jelenjen meg a weboldalon! A programon keresztül "beleszólhatsz" a designba és a tartalomba egyaránt!

Link to comment
Share on other sites

google

Kitárulnak a lehetõségek, és szerintem épp' az a szép benne, hogy abszolút kontrollod van afölött, hogy mi jelenjen meg az oldalon. Ráadásul mindez jóval kevesebb munkával.

Link to comment
Share on other sites

Kovács Gyula (MiniDisk)

Hát nem tudom. A javascript, meg a php mit ér a html nélkül? Ezek inkább kiegészítõk, szó szerint egy motort adnak pl. a weboldal alá. (Tényleg, a php a webprogramozáson kívûl alkalmazható máshol is? :upsz: )

Link to comment
Share on other sites

payskin

Félreérted: semmit nem érnek a HTML nélkül! A PHP és a JavaScript HTML-kódot írnak a weboldalba. Mondok egy pofonegyszerû példát: nézd meg ezt az oldalt, a fórumot. Ha megnézed a forrását, ez egy HTML oldal. És ezt egy PHP program, a fórummotor állítja elõ. Például ott felül a harmadik sorban, neked nem az van kiírva, hogy Üdvözlünk Spányik Balázs, hanem az, hogy Üdvözlünk MiniDisc, és nincsenek ott a neved mellett az admin eszközök, az enyém mellett meg ott vannak.

 

Ugyanaz a PHP program fut mindkettõnknél (pontosabban a webszerveren), mégis más HTML oldalt látsz te, és látok én.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...