infoarena

Comunitate - feedback, proiecte si distractie => Off topic => Subiect creat de: Maritanu Codrut Catalin din Iunie 01, 2007, 00:17:29



Titlul: C Programming
Scris de: Maritanu Codrut Catalin din Iunie 01, 2007, 00:17:29
Salutare, is my first post:) ... yuppi :harhar:. Dupa cum vedeti si titlu` problema mea se rezuma la Programarea in C pe distributia debian :) , Ubuntu 7.04, as dori sa aflu detalii , diferente dintr programarea C pentru windows , respectiv Linux, compilator , asemanari, sugestii ... va multumesc :) ...

pace


Titlul: Răspuns: C Programming
Scris de: Silviu-Ionut Ganceanu din Iunie 01, 2007, 02:25:00
Depinde cu ce ai programat pana acum pe Windows. Daca ai programat cu Visual C++ diferentele vor fi cam mari pentru ca nu exista un IDE la fel de competitiv pe Linux.

Oricum, pe linux se lucreaza mai dorky, mai old-style. Asta inseamna ca te vei lipsi de cateva tool-uri usor de folosit din Windows (debugger-ul e cel mai relevant exemplu). Asta nu inseamna neaparat un lucru rau pentru ca in the long run te ajuta sa te concentrezi mai bine cand scrii, te aduce mai aproape de cod. Exista dbg si wrappere ca alternative de depanat peste el pentru cazuri "mai speciale".

In schimb daca ai lucrat cu compilatoarele gnu portate pe Windows atunci trecerea e mai lina.

Cateva chestii concrete:

Compilatoare: gnu gcc/g++. Va trebui sa stii cum se compileaza din linie de comanda si cateva optiuni utile ale acestor compilatoare (-o -Wall -O2 s.a.m.d).

Editoare: vim, emacs (cam greu de invatat dar merita), kate, kedit, mcedit (mai usor de folosit dar nu la fel de puternice).

Alte utilitare folositoare: dbg, make.

Apropo de utilitare, cica Zero debugger e pretty hot. L-am incercat si eu putin da n-am reusit sa-mi dau seama ce are asa special :D

Cam asta in vine in minte acum,

Silviu


Titlul: Răspuns: C Programming
Scris de: Sima Cotizo din Iunie 01, 2007, 06:51:05
Citat
Apropo de utilitare, cica Zero debugger e pretty hot. L-am incercat si eu putin da n-am reusit sa-mi dau seama ce are asa special

Exista si DDD (data display debugger)... asta in cazul in care nu-ti merge instalat rhide (ale carui binare speciale pt linux sunt pe undeva prin site, iar instructiuniile de instalare in forum intr-un thread, nu mai stiu care... daca vrei iti dau un link catre ele, dar se poate sa nu fie disponibile mereu pt ca mai inchid si eu calculatorul :P)


Titlul: Răspuns: C Programming
Scris de: Maritanu Codrut Catalin din Iunie 01, 2007, 13:18:31
nu visual , ce doar temele pentru scoala sa mi le pot face :) ... :) ... niste probleme :) ... pe akolo ... in C :) ...deci o sa  folosesc gcc :) ... mersi mult alte completari ? aaa da unde as putea sa gasesc C pentru linux tutoriale  sau mai multe detalii despre diferente:)


Titlul: Răspuns: C Programming
Scris de: Cristian Strat din Iunie 03, 2007, 01:10:18
Pe Windows, Visual Studio integreaza in aceeasi interfata editor, debugger, compilator, designer, link-er, documentatie, versionare de cod, testare etc. E un singur tool, mare si coerent, pe care stii ca daca il instalezi poti sa faci cam tot ce-ti poti imagina.

Pe linux e putin diferit. In loc sa lucrezi cu o singura aplicatie coerenta, vei folosi multe multe multe, multe tool-uri independente care indeplinesc fiecare cate un task bine definit. S-ar putea sa ti se para dezordonat si greoi - si chiar este la inceput! - fata de modelul VisualStudio. In functie de rabdarea pe care o ai, vei sesiza totusi o serie de avantaje.

Cand vine vorba de o comparatie intre Windows development tools si cele de pe linux, parerile sunt foarte impartite. Sunt oameni care considera ca modelul linux e depasit, altii dimpotriva, jura si baga mana in foc pentru el. :)
Dincolo de flamewars si evanghelisti, adevarul este ca poti sa dezvolti eficient si profesionist pe ambele platforme. Dupa o perioada de acomodare (cativa ani) nu exista killer-advantages doar pe Linux sau doar pe Windows.


Cel mai castigat esti atunci cand intelegi ambele platforme si esti in stare sa iti alegi cele mai bune ingrediente dupa nevoi si gusturi, indeferent de platforma.
Spre exemplu poti sa dezvolti site-uri in ASP.NET folosind sistem de operare Windows + server IIS + VIM (in loc de visual studio) + Postgresql (in loc de MS SQL). Alt exemplu ar fi o aplicatie desktop compatibila cu Windows insa dezvoltata pe Linux folosind GCC + QT + emacs si Glade.

Multe librarii, tool-uri si abstraction layers se pot imbina si folosi cross-platform.


Personal, prefer modelul de dezvoltare de pe linux. Iata un setup pe care l-ai putea folosi (din multe alte setup-uri posibile). Sunt bineinteles preferinte personale.

  • Debian
  • GCC + Makefiles (http://www.google.com/search?q=makefiles&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) (neaparat sa citeste despre make!)
  • Editor: vim sau emacs. Eu prefer vim dar ambele sunt foarte bune. Demn de mentionat este ca acestea doua fac parte dintr-o familie mai selecta de editoare. Sunt fundamental diferite fata de editoarele text din visual studio, eclipse, netbeans, jedit etc. Mi-e greu sa sintetizez diferentele intr-un paragraf. Ca programator vei petrece multa vreme citind si scriind cod sursa. Daca este si cazul tau, merita sa investesti timp in cautarea unui editor destept. Fa-ti timp sa citesti despre vim si emacs. S-ar putea sa-ti placa.
  • Debugging de preferat cu printf, logging si cat mai multe teste automate. La nevoie bagi GDB si valgrind (http://valgrind.org/). Stii ca GDB este doar o consola de debugging. Daca vrei interfata gen RHIDE/BorlandC trebuie sa folosesti un wrapper separat care controleaza GDB in locul tau. Wrapper-e pentru gdb exista in emacs (integrat) si in vim (folosind clewn (http://clewn.sourceforge.net/)). Bineinteles, mai sunt o gramada, independente precum DDD sau integrate precum in Kdevelop.
  • ctags (http://ctags.sourceforge.net/) si cscope (http://cscope.sourceforge.net/) pentru navigare prin cod sursa. Ambele se integreaza cu vim si emacs.
  • subversion (http://subversion.tigris.org/) pentru source code management. Chiar si atunci cand lucrezi singur, un sistem de versionare este foarte util!
  • documentatie pe internet: blog-uri, mailing lists, referinte, manuale samd. Nu te multumi doar cu o "enciclopedie" precum MSDN.

Needless to say, YMMV! :)


Titlul: Răspuns: C Programming
Scris de: Iulean Sebi din Septembrie 13, 2007, 12:14:31
Eu folosesc G++ si sunt foarte multumit de faptul ca ma face sa fiu mai atent la cod..no IDE thats why


Titlul: Răspuns: C Programming
Scris de: Ivan Nicolae din Septembrie 13, 2007, 13:14:12
   Atent la cod tre sa fii in orice ai programa  :P   in schimb intradevar in Borland sau altele ai o senzatie de... si daca nu merge din prima ce... se recitifica....
   Personal folosesc G++ si Vim.... exista diferite concursuri cum ar fi OJI (si altele) in care ai la dispozitie doar Borland prin urmare (daca esti tipul de programator care mai trece si pe la concursuri)... ar fi o idee buna sa mai lucrezi si prin Borland din cand in cand..... crede-ma dupa un an de zile de lucrat doar pe linux.... mi-am luat tepe urate la concursurile pe Borland... asa ca parerea mea este ca... (poate nu e buna... dar eu ma tin de ea)... tre' sa programezi la fel de atent in orice ai scrie codul... nu peste tot o sa ai la dispozitie compilatorul si editorul tau preferat (tre' sa faci distincite de asta si sa te concentrezi asupra codului in sine).


Titlul: Răspuns: C Programming
Scris de: Sima Cotizo din Septembrie 13, 2007, 19:19:42
Pai exista si rhide pe linux, asta aduce oarecum aminte de borland, unele shortcuturi sunt cam la fel, si nici la optiuni nu cred ca sunt diferente peste care sa nu poti trece in sfertul de ora pe care il ai in general la dispozitie pt "acomodarea cu sistemul"...

Citat
Atent la cod tre sa fii in orice ai programa     in schimb intradevar in Borland sau altele ai o senzatie de... si daca nu merge din prima ce... se recitifica....
Mhm, stiu, de mai bine de un an lucrez in linux si tot nu am scapat de gandirea asta... si tepe mari am luat cam pe la majoritatea concursurilor...  :sad:

PS : http://infoarena.ro/utilizator/sima_cotizo?action=download&file=rhide_kit_linux.tar (nu am stiut cum sa fac sa pun un link pe "rhide de linux" catre adresa asta  ???)..


Titlul: Răspuns: C Programming
Scris de: Ivan Nicolae din Septembrie 13, 2007, 20:12:07
    daps.... acolo la altele este inclus si Rhide-ul (si din linux si din djgpp... defapt acolo am bagat cam toate IDE-urile)... eu unul am renuntat la folosirea IDE-urilor tocmai ca sa ma dezvat de obiceiul asta de a nu acorda seriozitate maxima scrieri codului(crezand ca depanez dupaia). In schimb de cele mai multe ori... am observat ca depanarea facuta ulterior scrierii codului are tendinta de a lasa scapari... care poti nici sa nu le observi pe moment.
   Totusi inainte de OJI ar fi o idee buna folosirea Borland-ului... intrucat dupaia putem da in alte tepi (cum unii dintre noi am si dat... sunt convins ca mai sunt si altii... sau cel putin asa imi place sa cred  :D ). Totusi folosirea Borlandului nu inseamna ne-atentie la scrierea codului.
   Alta chestie care mi se pare foarte periculoasa (si deosebit de tentanta) in Borland este CTRL+F7(respectiv F8)... adica compilarea programului rand cu rand.. ofera o falsa senzatie de  "ca intelegi ce face programul"... in schimb omoara foarte mult timp(si nervi)... pana la urma mai repede ai depana daca ai lua urmatoarele masuri de la inceput... cum ar fi: "in timp ce scrii programul mai compilezi din cand in cand sa vezi daca merge pana la pasul curent".


Titlul: Răspuns: C Programming
Scris de: Andrei Homorodean din Septembrie 13, 2007, 20:26:01
Cand faci watch, rulezi programul pas cu pas, nu il compilezi pas cu pas  ???... Eu mai bag uneori un watch(rar), dar in majoritatea timpului folosesc printf-uri.


Titlul: Răspuns: C Programming
Scris de: Ivan Nicolae din Septembrie 13, 2007, 21:10:57
 stiu ca rulezi... si nu compilezi... dar asa m-am exprimat... scuze  :D