Objective-C come prima lingua OOP? [chiuso]

3

Sto solo terminando il secondo semestre del mio diploma CS. Finora ho imparato C, tutti gli algoritmi fondamentali e le strutture dati (ad es. Ricerca, ordinamento, liste collegate, heap, tabelle hash, alberi, grafici, ecc.).

Il prossimo anno inizieremo con OOP, utilizzando Java o C ++.

Recentemente ho avuto alcune idee per alcune app per iPhone e ho avuto il prurito di iniziare a lavorarci su.

Tuttavia, in passato ho sentito cose negative su Objectice-C, quindi mi chiedo se impararlo come prima lingua OOP potrebbe essere un problema. Per non parlare del fatto che sarà difficile trovare libri / corsi online che insegnino concetti OOP di base usando Objective-C per illustrare i concetti (al contrario dei libri che usano Java o C ++, che sono molti), quindi questo potrebbe essere un altro problema .

In breve : dovrei iniziare a imparare i concetti Objective-C e OOP in questo momento da solo, o aspettare un altro semestre fino a quando imparo Java / C ++ all'università e poi saltare in Objective-C?

Aggiornamento : per coloro che sono interessati a iniziare con OOP tramite Objective-C ho appena trovato alcuni tutorial interessanti all'interno della Developer Library di Apple - > link

    
posta Daniel Scocco 14.11.2011 - 12:58
fonte

3 risposte

11

Qualunque cosa tu faccia, dovrai (re) imparare OOP più volte per programmare realmente in modo OO.

Quindi non ti farà male se inizi presto.

E a proposito, sentirai anche cose cattive su Java, cose brutte su C ++, cose brutte su Ruby date le persone con cui parli ... Se le ascolti, potresti non iniziare mai ad imparare OOP:)

Modifica per rispondere a questa nuova parte della domanda:

Not to mention that I think it will be hard to find books/online courses that teach basic OOP concepts using Objective-C to illustrate the concepts (as opposed to books using Java or C++, which are plenty), so this could be another problem

Questo non è un problema, è grandioso. I concetti OOP variano da una lingua all'altra. Una "interfaccia" esiste in Java, è un po 'diversa in Objective-C, può essere implementata in qualche modo con C ++ ma non esiste in Ruby per esempio. Imparare l'OOP con esempi in una lingua e applicarlo in un'altra lingua è un ottimo modo per aprire la mente e non essere legati a una lingua.

    
risposta data 14.11.2011 - 13:57
fonte
8

Recently I got some ideas for some iPhone apps and got itchy to start working on them.

Lavorare su ciò che ti prude è MOLTO meglio di sopprimere il prurito e imparare un po 'di "migliore" lingua. La vita è troppo breve, sai?

EDIT: In risposta al tuo commento, io faccio entrambi, e i concetti in gran parte traducono. La sintassi è molto diversa, ovviamente. Di sicuro le due lingue enfatizzano diverse convenzioni e schemi di progettazione. Ma lavorare in più di una lingua ti rende uno sviluppatore migliore. Inizi a pensare dietro le strutture su cui una lingua si appoggia, e vedi l'immagine più grande alle loro spalle. Onestamente, la cosa più importante da affrontare è la differenza tra le regole di digitazione tra le due e le differenze tra runtime e compiletime.

    
risposta data 14.11.2011 - 14:46
fonte
2

L'obiettivo-C ha molto valore di mercato reale. Ti consiglio caldamente di iniziare a lavorare su una di quelle app per iPhone che hai avuto voglia di scrivere. Fallo ora.

Ci sono enormi risorse disponibili per chiunque voglia apprendere la programmazione orientata agli oggetti in generale e Objective-C in particolare, molti dei quali gratuiti.

A mio avviso, il tipo C ++ di Objective-C è un linguaggio migliore, ed entrambi sono molto meglio del suckage che è Java.

Ma davvero, a chi importa cosa penso? Non ho intenzione di scrivere la fantastica app per iPhone a cui stai pensando, lo sei.

Il mercato vede migliaia di programmi davvero interessanti e interessanti scritti in Objective-C e premia gli sviluppatori che li scrivono. E se Objective-C fosse davvero pessimo, è improbabile che così tanti eccellenti programmi avrebbero potuto essere scritti usando in primo luogo.

    
risposta data 14.11.2011 - 16:44
fonte

Leggi altre domande sui tag