Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3

    [C]-> Programmazione_seria->come?

    Ok immagino che dal titolo non si capisca gran che(mi piaceva l'idea di mettere le freccioline come con i puntatori di puntatori in C ^^), quindi passiamo alle spiegazioni:

    Studio ing. informatica da un paio di anni... ho fatto qualche esame di java e assembler(giusto le basi però), e ho sputato l'anima sul C fino a sentirmi male ^^.
    Mi sono iscritto a questa facoltà con l'idea di fare il programmatore (e se dio lo vorrà il programmatore di videogame^^)
    Premessa... quello che ho fatto negli esami non include mai la programmazione di interfacce grafiche(Vabbe C e assembler nemmeno la hanno una G.I, ma parlo per java ).

    Fatte le premesse arriva la domanda: Dato che non entrerò nell'argomento Programmazione Videoludica, fino alla specialistica, volevo qualche dritta su come sfruttare le mie conoscenze(oramai decenti) di C e magari le nozioni di java, per iniziare a programmare qualche piccolo giochino, qualcosa di più interessante insomma(non i soliti programmi per gestire areoporti, ospedali e prodzione di una fabrica x, come all'uni).

    Ultime due cose e chiudo:
    1- la domanda sembra vaga, probabilmente per come la ho scritta. Quello che vorrei sapere è come passare dal C al C++ (o al più C#, java per programmare app_game), per programmare giochi.

    2- Con: "C->programmazione_seria", non voglio dire che il C fa schifo, ma semplicemente non ha applicazioni che mi interessano particolarmente ora come ora...e poi volevo usare "->" XD

  2. #2
    La tua sensazione è comune a molti studenti anche e soprattutto di altre Facoltà, ossia quella di impegnarsi con fatica nello studio di argomenti e/o materie inutili, troppo prolisse ed incentrate su nozioni che non saranno mai utilizzate nel campo applicativo; per questo spesso si prediligono corsi universitari 'brevi' o 'ultrabrevi' che sembrano - apparentemente - dare una giusta preparazione in tempi relativamente ragionevoli.
    L'esperienza maturata personalmente - prima in ambito accademico, poi aziendale - mi dice esattamente il contrario: tutti quei concetti appresi faticosamente nei primi anni universitari e in generale durante il Corso di Laurea sono in realtà *fondamentali*, anche se tuttavia non sufficienti per una preparazione consona alla risoluzione di problematiche riscontrabili in ambito lavorativo (progettuali, di sviluppo hardware, firmware, software ed economiche, oltre che temporali.)
    Se il tuo interesse è il game programming, inizia a studiare su testi adeguati un linguaggio come C#, che pur basandosi sul framework .NET è ricco di numerose funzionalità che 'ricordano' i lontani 'parenti' C e C++; con il tempo ti renderai conto che le vere ottimizzazioni sia in ambito grafico che sonoro necessitano dell'utilizzo di linguaggi come C e l'Assembler, oltre che una discreta conoscenza dei sistemi hardware impiegati.

    In definitiva, continua gli studi con la consapevolezza che quei linguaggi che ora 'non digerisci', ti saranno estremamente utili nel futuro, a meno che non finisca a programmare gestionali nel sottoscala di una software house (più piccola degli uffici in cui quotidianamente opero..) o a fare programmazione web con il pesante, lento e inefficiente Java (in realtà non si tratta di un vero e proprio linguaggio di programmazione, come certamente capirai..)

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,567
    Originariamente inviato da MdE2005
    ...con il pesante, lento e inefficiente Java (in realtà non si tratta di un vero e proprio linguaggio di programmazione, come certamente capirai..)
    Giusto per specificare .

    Poi in un sito web certamente non è java il collo di bottiglia. Non che mi piaccia particolarmente java, anzi non lo apprezzo proprio, ma non è giusto offendere in questo modo un piattaforma che, seppur non gradisci, ha molti aspetti positivi.

    Inoltre di inefficenza potevi forse parlare un tempo, ora java e la JVM sono fra le piattaforme più performanti e in alcuni frangenti risulta più veloce del C/C++.
    Inoltre a parità di tempo impiegato nello sviluppo di un'aplicazione complessa è molto probabile che la soluzione java risulti più stabile, portabile e performante.

    Detto ciò non sono affatto un fan di java.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4

    Moderazione

    Originariamente inviato da Scara95
    ...
    @MdE2005: confermo in toto (anche la mia non particolare simpatia per Java ), e ti ricordo che ti avevo già richiamato in passato su questa questione. Commenti di questo genere hanno come unico sbocco possibile un flame war, che porta alla chiusura immediata della discussione (il che va a discapito dell'utente che l'ha aperta e che con le tue personali antipatie con Java non ha nulla a che vedere) e, a lungo andare, a tornare alla politica precedente di chiudere questo genere di discussioni preventivamente.
    Regolati di conseguenza.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    773
    Posto che sarai ingegnere e che quindi avrai anche corsi e conoscenze di elettronica, perche nn ti dai alla programmazione di sistemi embedded/real time? L'aeronautica spagnola il mese scorso cercava programmatori a riguardo... salario a partire dai 70.000 :fantozzi_linguato:
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3
    Credo di essere stato un po frainteso XD
    So bene che quello che studio mi tornerà utile.(è una cosa che ho maturato da poco XD)
    Ad esempio all'inizio pensavo che il C fosse inutile, invece ho scoperto che molte softwer house sbavano dietro gli esperti di C per le loro conoscenze sulla gestione dei puntatori, o anche l'importanza di capire come funziona l'hardware del pc per capire come risolvere determinati problemi via software.

    Quello che volevo dire è che vorrei anticipare un pò i tempi e iniziare, da solo, a sviluppare game.
    Il problema è che vorrei usare quello che so come rampa, ma molto spesso trovo guide troppo avanzate o troppo poco. Insomma o mi fanno un elmo su cosa sono le funzioni e cosa fa un asterisco, oppure parlano in arabo perchè non sono abbastanza esperto in quel dato linguaggio(un cosa del genere mi è capitata con gli script di visual studio, gli aiuti offerti sul sito di microsoft sono o troppo base o troppo avanzate)

    Quindi vorrei sapere se ci sono dei manuali che mi consigliate o dei siti dove posso trovare un buon modo per iniziare, senza impazzire ^^

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,567
    2 possibilità:
    Prendi un linguggio ad alto livello e fai un po' di esperienza (e.s. Python + Blender)
    Studia approfonditamente il C++ e poi un motore di rendering tipo Unity3D o CryEngine...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3
    A ok... sto smanettando con unity3D da un pò.. ma ho sempre usato javascript li, non sapevo si potesse usare anke il c++.

    cmq per le sprite come faccio? blender è atroce, e non riesco a trovare una guida decente.

    Sapete consigliarmi un modo più semplice per creare sprite(o mesh in genere)?
    Tanto per ora saranno giochini stupidi, non mi servono chi sa ke dettagli.
    Cioè una cosa per iniziare, poi, fatta pratica, vedrò di migliorare come modellatore, ma una cosa alla volta XD

  9. #9
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,567
    Unity é scritto e fatto per/in C++, il javascript viene usato solo come linguaggio di scripting...
    Per il resto non so risponderti, mi dispiace.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  10. #10
    Originariamente inviato da MItaly
    @MdE2005: Commenti di questo genere hanno come unico sbocco possibile un flame war, che porta alla chiusura immediata della discussione
    Originariamente inviato da MdE2005
    con il pesante, lento e inefficiente Java (in realtà non si tratta di un vero e proprio linguaggio di programmazione, come certamente capirai..)
    Caro MItaly, ho speso pochissime parole per esprimere sinteticamente (per non stravolgere il tema principale del post, a cui ho fornito il mio modesto contributo) alcuni concetti riguardo Java, tra l’altro condivisi da numerosissimi esperti (non solo comuni practioners ma anche chief developer di aziende operanti a livello internazionale).

    Tralascio l’aspetto puramente stilistico, ovviamente soggetto a personali e non dimostrabili considerazioni, mi limiterò ad illustrare e a motivare la mia *allergia* a Java e tutto ciò che la circonda: attenzione, non ho parlato di ‘idiosincrasia’ bensì di ‘allergia’ il che presuppone, per definizione, almeno un contatto tra il soggetto (me) e l’antigene (Java): nonostante mi occupi di ben altri settori IT/TLC, qualche tempo fa ho ricevuto una gentile richiesta da un caro amico, ossia quella di scrivere un software destinato all’utilizzo su dispositivo mobile, un cellulare (non cito la marca) di ultima generazione; gli unici due strumenti a disposizione erano il SymbianC++ e Java Mobile Edition e ho dovuto scegliere necessariamente il secondo per rispondere adeguatamente (ed in tempi rapidi..) alle specifiche dell’applicazione richieste. In definitiva, non considero Java un linguaggio propriamente elegante né affascinante come alcuni paradigmi più “esotici”.

    Il motivo principale della diffusione di Java, sia a livello enterprise-server che mobile, è essenzialmente di tipo “commerciale”: il mercato nel mondo mainstream da sempre (o quasi) ha sempre preferito software creato rapidamente, ai costi minori, e che potesse essere “venduto” il più possibile, a scapito della correttezza progettuale del software e dei requisiti in termini di sicurezza di funzionamento: termini come crash, bug, fatal error, patch, aggiornamenti sono il pane quotidiano nel lato software mainstream mentre sono praticamente assenti (per fortuna) nei sistemi embedded critici, e ciò deriva dalla diversa impostazione progettuale, formale e logica e dalle diverse prestazioni richieste in questi mondi IT estremamente contrapposti.
    Per chi non lo sapesse, il compilatore Java traduce il programma sorgente in una rappresentazione speciale, la Java bytecode, un linguaggio macchina di una macchina virtuale Java (JVM) (e quindi non di una specifica CPU): già viene meno uno tanti dei concetti principali a proposito dello sviluppo di una CPU, quello del codesign, in quanto è stato inventato prima che nascessero chip in grado di eseguirlo
    La JVM è gravata da una mostruosa lentezza (non percepibile per semplici applicazioni web o interfaccia utente), nonché corredata da una Abstract Window Toolkit (AWT) quasi primordiale; in termini prestazionali (velocità d’esecuzione, produzione di codice nativo etc) è addirittura più lento del baraccone .NET e ovviamente imparagonabile al più low-level degli HLL (High-Level Language), il C.
    L’aspetto che deve maggiormente preoccupare riguarda l’assenza di progettazione interna della JVM e di Java in generale, con incongruenze veramente evidenti analizzate e spiegate anche da personaggi del calibro di Stroustrup, Meyer, Agrawal, ‘luminari’ nel campo dell’IT e in specifico dei linguaggi di programmazione (Stroustrup ha creato il C++ e Meyer il linguaggio Eiffel); non è il luogo né il momento giusto per spiegare l’importanza fondamentale di un’adeguata e consona progettazione, concetto base per qualsiasi tipo di ingegneria e valido quindi anche per i settori informatico, elettronico e TLC.

    I link seguenti mostrano più o meno quanto esposto in questo post, evidenziando varie problematiche legate a Java descritte da esperti nel campo dei linguaggi di programmazione in attività presso aziende internazionali o a livello accademico.


    http://www.geocities.com/tablizer/javacrit.htm

    Arizona - Sumatra

    Java -blogspot

    Why Java is slow

    Quora

    http://digital-library.theiet.org/ge...ifs=yes&ref=no

    University of Maryland

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.