Jump to content
GSForum - Segélyvonal

Hogyan tanuljunk programozni?


Recommended Posts

Kovács Dávid ( Davs )
Posted

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?

Posted

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.

Kovács Dávid ( Davs )
Posted

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?

Posted

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.)

Posted
A google segít...

A nagybetűs inkább. :)

A kisbetűs még tanulja. B)

Posted

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. ;)

Kovács Dávid ( Davs )
Posted

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

Kiskiváncsi
Posted

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!

  • 1 month later...
Posted

É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á.

Posted

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

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

  • 2 months later...
Posted

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 :)

Posted

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...)

Kovács Dávid ( Davs )
Posted
(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

Posted

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.)

Kovács Dávid ( Davs )
Posted
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

Posted

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?

Kovács Dávid ( Davs )
Posted

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.

Posted

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

Posted
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.

Posted

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.

Kovács Gyula (MiniDisk)
Posted

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.

Posted

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!

Posted

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.

Kovács Gyula (MiniDisk)
Posted

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: )

Posted

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.

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
×
×
  • Create New...