Quali sono gli errori comuni quando sei un buon programmatore in C e PHP e inizi a scrivere in Java? Quali sono i buoni consigli quando si cambia? [chiuso]

2

Quali aspetti di Java sono i più difficili da imparare quando provengono da un simile background? Quali errori comuni fanno le persone? Quali sono i migliori trucchi per aumentare il tempo e la produttività?

Se avessi una stanza di coder C / PHP che stavano per iniziare lo sviluppo usando Java quale consiglio vorresti dare?

Questo è il mio elenco di argomenti finora (in nessun ordine particolare):

  • Usa jodatime anziché lo standard biblioteca, e anche meno importante la libreria guava.

  • Gli array sono indicizzati a zero

  • Vorrei anche evidenziare il aspetti pass-by-value / di riferimento di Java e il fatto che

    String s1 = new String("test"); 
    String s2 = new String("test"); 
    if(s1 == s2) // will be false 
    if(s1.equals(s2)) // will be true
    
  • Introduci il concetto di design modelli e dare una rapida panoramica.

  • Introduci Spring (sarà usato) e il concetto di Iniezione di dipendenza

C'è qualcosa di ovvio che mi manca.

    
posta NimChimpsky 06.12.2010 - 12:36
fonte

5 risposte

10

La raccolta automatica dei rifiuti non significa che dovresti rinunciare all'ottimizzazione dell'utilizzo della memoria.

    
risposta data 06.12.2010 - 13:17
fonte
7

Pochi punti che lo sviluppatore PHP deve sapere per codificare in Java:

  • Diversi tipi di collezioni sono disponibili in Java, in PHP solo gli array sono più comunemente utilizzati così tanti sviluppatori PHP non saranno a conoscenza dei concetti di collezioni.
  • Packaging: la confezione non viene generalmente utilizzata in PHP, quindi è necessario comprendere concetti come jar, war etc
  • Thread & Sicurezza dei thread: se PHP è l'unica lingua che sanno, i thread saranno completamente nuovi.
  • Diversi server di applicazioni in Java, nel mondo PHP è solo Apache.
  • Modelli di progettazione: il mondo Java attribuisce molta importanza agli schemi di progettazione rispetto a php.
risposta data 21.01.2013 - 13:25
fonte
5

Non usando un design orientato agli oggetti corretto ma procedurale. Un esempio classico è switch o molti se / else rispetto al polimorfismo:

//procedural way of computing the salary of an employee    
if(employeeType == JUNIOR) {
    salary = //junior salary calculation logc;   
} else if(employeeType == MID_LEVEL)
    salary = //mid_level salary calculation logc;   
} else if(employeeType == SENIOR) {
    salary = //senior salary calculation logc;   
}


//OOP way
Employee employee = EmployeeFactory.getEmployee(JUNIOR);
salary = employee.calculateSalary();
//where employee is an interface having calculateSalary method; 
//also there are classes for JuniorEmployee, MidLevelEmployee and SeniorEmployee
    
risposta data 21.01.2013 - 15:05
fonte
2

La cosa più importante di Java rispetto alle lingue di cui parli è l'intero accordo con l'Orientamento agli oggetti. Puoi cavartela come programmatore C o PHP lavorando quasi interamente in modo procedurale e se vuoi essere bravo in Java devi capire l'Orientamento degli oggetti e comprenderlo bene.

Se puoi assicurarti di averlo imparato, non solo renderà migliori i programmatori Java, ma sarà utile a loro con qualsiasi altra lingua imparino in futuro.

    
risposta data 06.12.2010 - 13:58
fonte
1

Per due delle tue osservazioni:

I'd also highlight the pass-by-value/reference aspects of Java, and the fact that ...

Uno dei migliori libri per comprendere a fondo i problemi di codifica è: "Extreme Java" di Joshua Bloch così:

String s1 = new String("test"); // bad coding

String s1 = "test"; // sufficient

Molti e molti altri campioni all'interno.

Se sei obbligato a programmare domani, leggi il paragrafo interessato prima della codifica e prendi una pausa per capire che Java è un altro mondo mentale, anche se è C bambini.

La prima volta sembra molto difficile, ma presto è più chiaro e potente.

Introduce the concept of design patterns and give a quick overview.

IL libro progettato per i principianti per comprendere i problemi di Java e OOP: Modelli di primo modello di testa .

Tips/sample

Dai un'occhiata a Collections o Pattern nelle classi di pacchetti Java per capire come scrivere bene,

    
risposta data 21.01.2013 - 13:52
fonte

Leggi altre domande sui tag