Certo, se tutto ciò che hai visto nella tua vita è Objective C, la sua sintassi sembra l'unica possibile. Potremmo chiamarti una "vergine della programmazione".
Ma poiché molto codice è scritto in C, C ++, Java, JavaScript, Pascal e altri linguaggi, vedrai che ObjectiveC è diverso da tutti loro, ma non in senso positivo. Avevano una ragione per questo? Vediamo altre lingue popolari:
C ++ ha aggiunto molti extra al C, ma ha cambiato la sintassi originale solo quanto necessario.
C # ha aggiunto molti extra rispetto a C ++ ma ha cambiato solo le cose che erano brutte in C ++ (come rimuovere "::" dall'interfaccia).
Java ha cambiato molte cose, ma ha mantenuto la sintassi familiare tranne nelle parti in cui era necessaria la modifica.
JavaScript è un linguaggio completamente dinamico che può fare molte cose che ObjectiveC non può fare. Tuttavia, i suoi creatori non hanno inventato un nuovo modo di chiamare metodi e passare parametri solo per essere diversi dal resto del mondo.
Visual Basic può passare parametri fuori ordine, proprio come ObjectiveC. È possibile assegnare un nome ai parametri, ma è anche possibile passarli regolarmente. Qualunque cosa tu usi, è un normale modo delimitato da virgole che tutti capiscono. La virgola è il solito delimitatore, non solo nei linguaggi di programmazione, ma nei libri, nei giornali e nel linguaggio scritto in generale.
Object Pascal ha una sintassi diversa dal C, ma la sua sintassi è in realtà PIÙ FACILE da leggere per il programmatore (forse non per il computer, ma a chi importa cosa pensa il computer). Quindi forse hanno divagato, ma almeno il loro risultato è migliore.
Python ha una sintassi diversa, che è ancora più facile da leggere (per gli esseri umani) rispetto a Pascal. Quindi, quando l'hanno cambiato, rendendolo diverso, almeno l'hanno reso migliore per noi programmatori.
E poi abbiamo ObjectiveC. Aggiunta di alcuni miglioramenti a C, ma inventando la propria sintassi di interfaccia, chiamata di metodo, passaggio di parametri e cosa no. Mi chiedo perché non hanno scambiato + e - in modo che più sottrae due numeri. Sarebbe stato ancora più bello.
Steve Jobs ha sbagliato sostenendo ObjectiveC. Ovviamente non può supportare C #, che è meglio, ma appartiene al suo peggior concorrente. Quindi questa è una decisione politica, non pratica. La tecnologia soffre sempre quando le decisioni tecnologiche vengono prese per motivi politici. Dovrebbe guidare l'azienda, cosa che fa bene, e lasciare le questioni di programmazione a veri esperti.
Sono sicuro che ci sarebbero ancora più app per iPhone se decidesse di scrivere iOS e supportare le librerie in qualsiasi lingua diversa da ObjectiveC. Per tutti tranne che per i fan accaniti, i programmatori vergini e Steve Jobs, ObjectiveC sembra ridicolo, brutto e ripugnante.