Creazione di una libreria in due lingue contemporaneamente

3

Sto pianificando di scrivere una libreria di analisi HTML open source in .Net in modo da avere un progetto in libertà quando inizio a cercare lavori per sviluppatori. Ora, nel mio programma Master ho iniziato ad apprendere Java e ho scoperto che mi piace anche a me e pensavo anche che avrei potuto scrivere anche la libreria in Java allo stesso tempo, per migliorare le mie competenze Java contemporaneamente. Sarebbe consigliabile? Il fatto che Java e C # siano lingue simili gioca nella decisione di creare due librerie contemporaneamente? La mia preoccupazione principale è invece di avere una grande biblioteca, finisco con due librerie mediocri. Essere nuovi allo sviluppo, ci sono altre insidie che dovrei cercare? Inoltre, fare in modo che la libreria su JVM e .Net funzioni a mio vantaggio più di una di quelle piattaforme quando si tratta di futuri datori di lavoro?

Ho visto questa domanda , ma le mie motivazioni non sono le stesse e ho intenzione di rilasciare anche questo codice, quindi non sono sicuro che le risposte saranno diverse.

    
posta Jetti 10.06.2011 - 22:15
fonte

4 risposte

10

Se parte del tuo scopo è aiutarti a trovare un lavoro, penso che la risposta sia facile. Concentrati sulla lingua che preferisci di più (C #, sembra) e crea un'ottima libreria per questo. Una volta che hai finito, e forse una volta che la libreria è in uso, prendi in considerazione il porting su Java.

Qualcosa da considerare: le aspettative degli sviluppatori Java e .NET sono diverse. Se si sviluppano entrambi allo stesso tempo, è possibile creare la libreria Java ".NET-ish" o viceversa. Sarebbe potenzialmente un inconveniente per chi cerca di usarlo.

Sono tutto per l'apprendimento. Basta affrontare uno alla volta. Gioca ai punti di forza della lingua scelta.

    
risposta data 10.06.2011 - 22:22
fonte
4

Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. [...]
- Linus Torvalds

Dovresti concentrarti sulla progettazione e sull'implementazione di una buona soluzione e, non appena avrai qualcosa da fare, creerai un ciclo di feedback che ti consentirà di migliorare la qualità del design.
Una volta che hai un buon design, il porting è davvero semplice.

Ho ha elaborato un po 'di più in risposta a una domanda diversa.

Per quanto riguarda l'occupazione: dovresti considerare di contribuire a un progetto open source popolare nel campo in cui preferisci essere impiegato. Dal punto di vista di un datore di lavoro, mostra due qualità:

  • padroneggi un popolare progetto open source sul campo. Questo è il know-how del tuo datore di lavoro quando ti assuma.
  • Sei in grado di lavorare in una squadra. Non sei solo un tipo da reinventare, puoi anche lavorare con il codice di altre persone. Poiché circa il 90% della programmazione è la programmazione di manutenzione, questa è in realtà una qualità chiave rispetto a "riscriviamo tutto da zero" - mentalità a cui tutti tendiamo.
risposta data 10.06.2011 - 22:43
fonte
2

Scrivere una libreria è incredibilmente difficile, molto più difficile che scrivere un'applicazione. Una libreria è qualcosa che verrà usata in migliaia di strane situazioni da migliaia di persone strane. Avrà bisogno di una documentazione estesa in modo che quelle persone strane possano usarlo in primo luogo. E avrà bisogno di una gigantesca suite di test in modo da poter validare tutte quelle situazioni.

Ora, fare questo due volte, allo stesso tempo, ha senso?

    
risposta data 10.06.2011 - 23:12
fonte
0

Invece di cercare di sviluppare contemporaneamente in due lingue, potresti scrivere in una lingua e scrivere un compilatore che può essere compilato / convertito in altre lingue.

Qualcosa come Wasabi di Joel: link

    
risposta data 10.06.2011 - 23:08
fonte

Leggi altre domande sui tag