Linguaggi di programmazione: Open Source

Il ritrovo della comunità dove confrontarsi e discutere sulle notizie dal mondo dell'informatica, di Ubuntu e di tutto quello che la riguarda, novità, pettegolezzi e quant'altro.
thed0ct0r
Prode Principiante
Messaggi: 51
Iscrizione: domenica 13 marzo 2011, 15:57

Linguaggi di programmazione: Open Source

Messaggio da thed0ct0r »

Buona sera,

siccome io sono per l'open source, desiderei capire: qual è, secondo voi, il linguaggio di programmazione, open source, che più promette bene per il futuro, ma anche del presente ?

;)
Avatar utente
il_muflone
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 18878
Iscrizione: venerdì 1 maggio 2009, 15:31
Desktop: GNOME Shell
Distribuzione: Arch Linux x86_64
Località: Profondo sud
Contatti:

Re: Linguaggi di programmazione: Open Source

Messaggio da il_muflone »

java
http://www.muflone.com - I miei contatti e i miei progetti - La guida completa a VirtualBox
Non mandatemi messaggi privati per chiedere aiuto, li cancello senza rispondere nemmeno.
thed0ct0r
Prode Principiante
Messaggi: 51
Iscrizione: domenica 13 marzo 2011, 15:57

Re: Linguaggi di programmazione: Open Source

Messaggio da thed0ct0r »

Il Java.... ho sentito, o meglio: ho letto cose non carine sull'oracle... dicono che l'oracle punterà sempre più sul business.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Linguaggi di programmazione: Open Source

Messaggio da Zoff »

thed0ct0r ha scritto: Il Java.... ho sentito, o meglio: ho letto cose non carine sull'oracle... dicono che l'oracle punterà sempre più sul business.
Si affosserebbero da soli...

Concordo: Java
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Ikitt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1816
Iscrizione: mercoledì 24 ottobre 2007, 12:05

Re: Linguaggi di programmazione: Open Source

Messaggio da Ikitt »

+1 per java
thed0ct0r
Prode Principiante
Messaggi: 51
Iscrizione: domenica 13 marzo 2011, 15:57

Re: Linguaggi di programmazione: Open Source

Messaggio da thed0ct0r »

Però non credete che pecca un po' troppo in performance ?
Ikitt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1816
Iscrizione: mercoledì 24 ottobre 2007, 12:05

Re: Linguaggi di programmazione: Open Source

Messaggio da Ikitt »

thed0ct0r ha scritto: Però non credete che pecca un po' troppo in performance ?
No. Certo, non batte il miglior C/C++. Ma puo` battere ampiamente un medio C/C++.
Tupla
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 726
Iscrizione: giovedì 8 ottobre 2009, 21:31
Desktop: KDE
Distribuzione: Kubuntu 12.10 x86_64
Località: Novara

Re: Linguaggi di programmazione: Open Source

Messaggio da Tupla »

Java. Comodo, a oggetti, gira praticamente ovunque, ha un casino di librerie per qualsiasi cosa, ha una sintassi comprensibile (simile al C/C++) e soprattutto, è fortemente tipizzato (i linguaggi non tipizzati mi danno fastidio  ;D)
Dual Boot: Kubuntu 12.10 64 bit & Windows 7 Home Premium 64 bit on Acer Aspire M5910.
Messaggi con richieste d'aiuto saranno cestinati!
Dari
Prode Principiante
Messaggi: 157
Iscrizione: venerdì 30 gennaio 2009, 10:57

Re: Linguaggi di programmazione: Open Source

Messaggio da Dari »

Python e php no? Comuque Java sicuramente è uno dei migliori, ci sono anche ottimi framework complementari open (Spring, tantissime estensioni della Apache foundation ecc.)
Avatar utente
el_Felix
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1059
Iscrizione: martedì 13 maggio 2008, 7:20
Località: RM
Contatti:

Re: Linguaggi di programmazione: Open Source

Messaggio da el_Felix »

Mi accodo alla discussione. Ponendo una questione in più: sto prendendo le certificazioni LPI, per accedere a quella di terza livello (ok, sono deliri dato che devo ancora terminare il primo, di livello, ma la curiosità è tanta) serve tra i requisiti la conoscenza di un linguaggio di programmazione.
In quel misero anno che feci alla facoltà di Ingegneria Informatica studiai un po' di Java. Ma non mi piaceva molto. Il C/C++ mi ha sempre incuriosito, lo ammetto, ma non mi ci sono mai avvicinato per la sua aura di "difficoltà" (ma è vero, poi?)
Tempo fa mi addentrai in Phyton (mi piacciono i rettili) ma per star dietro ad altri impegni lo lasciai un po' perdere. Ora, in vista di tale obiettivo, vorrei riprendere a studiare qualcosina.

Secondo voi, per un amministratore di sistema GNU/Linux, quale linguaggio può tornare più utile? ok, la domanda è ridicola, mi direte "va bene uno qualsiasi, basta che sei in grado di sfruttarlo per le tue esigenze", però secondo voi è meglio indirizzarsi verso una cosa piuttosto che un'altra? anche in base alle risorse di studio che si trovano in rete e/o in libreria!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Linguaggi di programmazione: Open Source

Messaggio da Zoff »

thed0ct0r ha scritto: Però non credete che pecca un po' troppo in performance ?
Fai tu una prova.

prendi questi due sorgenti in C++ e Java:

Codice: Seleziona tutto

#include 

using namespace std;

int main(){
    int x = 1;
    for( int i=0; i< 2000000000; i++ ){
        x++;
    }
    cout << x << endl;
    return 0;
}

Codice: Seleziona tutto

public class Test {
        
    public static void main(String[] args) {
        int x = 1;
        for( int i=0; i<2000000000; i++ ){
            x++;
        }
        System.out.println(x);
    }
}
Salvali nella stessa cartella e compilali con:

Codice: Seleziona tutto

g++ test.cpp -o test
javac Test.java
Poi esegui un time su entrambi:

Codice: Seleziona tutto

time ./test
time java Test
Questa sarà la tua espressione:  :o

A meno di casi particolari (applicazioni con immani CPU burst) nessuno noterà la differenza tra un programma scritto in java e uno in C++.

Per chi è rimasto particolarmente male consiglio di ri-compilare il codice C++ indicando al compilatore di utilizzare alcune ottimizzazioni (es. -O2 o -O3 )
Ultima modifica di Zoff il sabato 10 dicembre 2011, 17:54, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Tupla
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 726
Iscrizione: giovedì 8 ottobre 2009, 21:31
Desktop: KDE
Distribuzione: Kubuntu 12.10 x86_64
Località: Novara

Re: Linguaggi di programmazione: Open Source

Messaggio da Tupla »

Zoff ha scritto: Questa sarà la tua espressione:  :o
Cavolo si, proprio quella!  ;D
Dual Boot: Kubuntu 12.10 64 bit & Windows 7 Home Premium 64 bit on Acer Aspire M5910.
Messaggi con richieste d'aiuto saranno cestinati!
thed0ct0r
Prode Principiante
Messaggi: 51
Iscrizione: domenica 13 marzo 2011, 15:57

Re: Linguaggi di programmazione: Open Source

Messaggio da thed0ct0r »

Molto meglio questo di test (i codici non sono miei):

Java:

Codice: Seleziona tutto

import java.util.Scanner;


public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int time = 0;
        int max = 0, primo = 2;
        Scanner in = new Scanner(System.in);
        
        System.out.println("Range massimo di numeri primi: ");
        max = in.nextInt();
        
        time = (int) System.currentTimeMillis();
        for(int x=3;x<=max;x++)
            for (int y = 2; y < x; y++)
            {
                if((x%y)==0)
                    break;
                else if(y==x-1)
                    primo = x;
            }
        time = (int) System.currentTimeMillis() - time;

        System.out.println("\nil numero primo piu' alto in un range massimo di " + max + " e' " + primo +
                          "\ntempo d'esecuzione: " + time + " mSec");

    }

}
C#:

Codice: Seleziona tutto

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace benchmark_inforge_csharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int time = 0;
            int max = 0, primo = 2;
            
            Console.Write("Range massimo di numeri primi: ");
            max = Convert.ToInt32(Console.ReadLine());
            
            time = Environment.TickCount;
            for(int x=3;x<=max;x++)
                for (int y = 2; y < x; y++)
                {
                    if((x%y)==0)
                        break;
                    else if(y==x-1)
                        primo = x;
                }
            time = Environment.TickCount - time;

            Console.Write("\nil numero primo piu' alto in un range massimo di " + max + " e' " + primo +
                              "\ntempo d'esecuzione: " + time + " mSec");
            Console.ReadKey();
        }
    }
}
C++:

Codice: Seleziona tutto

#include <iostream>
#include <Windows.h>

int main()
{
    unsigned long time = 0;
    int max = 0, primo = 2;
    
    std::cout << "Range massimo di numeri primi: ";
    std::cin >> max;
    
    time = GetTickCount();
    for(int x=3; x<=max; x++)
        for(int y=2; y<x; y++)
        {
            if((x%y)==0)
                break;
            else if(y==x-1)
                primo = x;
        }
    time = GetTickCount() - time;
    
    std::cout << std::endl << "il numero primo piu' alto in un range massimo di " << max << " e' " << primo << std::endl
              << "tempo d'esecuzione: " << time << " mSec";
    
    std::cin.ignore();
    std::cin.get();
    return 0;
}
Il C++ su windows è più veloce di Java, e il C# è praticamente uguale al C++.

[Edit]

Il codice Java non era corretto, ora ho aggiustato... scusate.
Ultima modifica di thed0ct0r il sabato 10 dicembre 2011, 22:52, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Linguaggi di programmazione: Open Source

Messaggio da Zoff »

Ti abbiamo già detto che dipende dai casi... tra l'altro misurare il tempo all'interno del codice ha poco valore come misurazione...

Java è più lento, ma ce ne si rende conto solo su applicazioni che usano intensivamente la CPU.

Per contro è portabile, include librerie grafiche, e si usa anche in campo web.

Questo non significa che è il miglior linguaggio esistente (anche perché non esiste).
È semplicemente la risposta alla tua domanda: "qual'è secondo voi il linguaggio opensource più promettente per il futuro".
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
thed0ct0r
Prode Principiante
Messaggi: 51
Iscrizione: domenica 13 marzo 2011, 15:57

Re: Linguaggi di programmazione: Open Source

Messaggio da thed0ct0r »

Era giusto per postare un test più intenso xd, non volevo dire: "Java fa schifo" oppure è "Mr. Lentezza" (A me il Java piace, e anche molto).
Ikitt
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1816
Iscrizione: mercoledì 24 ottobre 2007, 12:05

Re: Linguaggi di programmazione: Open Source

Messaggio da Ikitt »

el_Felix ha scritto: [...]
Secondo voi, per un amministratore di sistema GNU/Linux, quale linguaggio può tornare più utile? ok, la domanda è ridicola, mi direte "va bene uno qualsiasi, basta che sei in grado di sfruttarlo per le tue esigenze", però secondo voi è meglio indirizzarsi verso una cosa piuttosto che un'altra? anche in base alle risorse di studio che si trovano in rete e/o in libreria!
Perl/python (a me piace di piu` il secondo e non di poco, ma probabilmente nel mondo dei sysadmin vince ancora il primo) o anche ruby (vari strumenti di depoly e monitoraggio sono in ruby).
E un po' di shell scripting.
Avatar utente
el_Felix
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1059
Iscrizione: martedì 13 maggio 2008, 7:20
Località: RM
Contatti:

Re: Linguaggi di programmazione: Open Source

Messaggio da el_Felix »

Ikitt ha scritto: Perl/python (a me piace di piu` il secondo e non di poco, ma probabilmente nel mondo dei sysadmin vince ancora il primo) o anche ruby (vari strumenti di depoly e monitoraggio sono in ruby).
E un po' di shell scripting.
Grazie per la risposta!! Anche a me come dicevo ispirava parecchio Python - l'ho studiato poco poco, ma quel poco lo preferisco a Java - e inoltre ho trovato già delle risorse specifiche per lo studio in ambito "amministrazione di sistema Linux o Unix". Perciò hai confermato quello che avevo già in mente io. Per Perl vedremo, se con Python alla fine non riesco a cavare niente proverò a buttarmi su Perl. La conoscenza del linguaggio di scripting viene richiesta già da subito e la sto già approfondendo ;)
Avatar utente
PedroTheMovie
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 359
Iscrizione: lunedì 22 febbraio 2010, 17:21
Desktop: KDE
Distribuzione: Arch
Località: Trieste

Re: Linguaggi di programmazione: Open Source

Messaggio da PedroTheMovie »

"L'unico computer sicuro, è un computer spento" [cit.]
http://stallman.org/no-facebook-200x64.png
seicaratteri
Prode Principiante
Messaggi: 182
Iscrizione: lunedì 4 luglio 2011, 13:03

Re: Linguaggi di programmazione: Open Source

Messaggio da seicaratteri »

Java. Per quanto non mi piaccia, quello che sta prendendo sempre più piede è java. Basti solo vedere android.
"non vuoi segnalare, obbhe, figliolo le vie della vita sono tante, scegline una e vattene affanculo!" cit.
Avatar utente
kimj
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1058
Iscrizione: sabato 13 settembre 2008, 11:45

Re: Linguaggi di programmazione: Open Source

Messaggio da kimj »

ho preso un libro su c++, e credo finirò di leggerlo, ma potreste consigliarmi anche un buon testo per principianti su java?
We no longer think of chairs as technology; we just think of them as chairs. But there was a time when we hadn't worked out how many legs chairs should have, how tall they should be, and they would often 'crash' when we tried to use them.
Scrivi risposta

Ritorna a “Bar Ubuntu”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti