Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Buon linguaggio di programmazione, ma facile?

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB, Foto Utentefairyvilje

0
voti

[21] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utentesimo85 » 4 gen 2012, 16:47

I sistemi operativi si scrivono in C, con un mix di Assembly :)
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9930
Iscritto il: 30 ago 2010, 4:59

2
voti

[22] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utentealev » 4 gen 2012, 16:55

isd88 ha scritto:Con i comandi della shell dos ci programmi ci vedi le cartelle dei vecchi PC... molto utile invece è imparare i comandi della shell di linux


La shell di DOS è molto limitata ma non esageriamo.

Codice: Seleziona tutto
@echo off & setlocal ENABLEEXTENSIONS

call :GetDate y mt d
call :GetTime h m s t

:: ***** PLEASE, SET THE FOLLOWING ENVIRONMENT BEFORE RUNNING *****

set ORACLE_SID=ABCD
set MYHOST=%COMPUTERNAME%
set BCKSRV=XXYYY
set BCKTOOLDIR=d:\oracle\tools\backup
SET BACKUPSET=%MYHOST%_%ORACLE_SID%_%y%%mt%%d%
set BACKUPDIR=W:\%BACKUPSET%
set ORACLE_HOME=D:\oracle\ora10gR2

:: *************************
:: *  Starting backup job  *
:: *************************

cd %BCKTOOLDIR%

:: *** Checking if Oracle database is available ***
echo select status from v$instance; | sqlplus -s "/ as sysdba" | findstr /c:"OPEN" > nul
if errorlevel 1 (echo DATABASE %ORACLE_SID% is NOT AVAILABLE: BACKUP JOB ABORTED! > logs\ERROR-%y%%mt%%d%-%h%%m%%s%.LOG&exit /B)

:: *** Checking if backup server is available ***
ping %BCKSRV% -n 5 -w 1000> nul
if errorlevel 1 (echo SHARED FOLDER on %BCKSRV% is NOT AVAILABLE > logs\ERROR-%y%%mt%%d%-%h%%m%%s%.LOG&exit /B)

:: *** Mounting shared folder on backup server ***
start /wait net use w: \\%BCKSRV%\ORABACKUP /USER:oracle

:: *** Creating lock file for this node on backup folder ***
echo. 2> w:\%BACKUPSET%.LCK

:: *** Checking and creating directories
REM IF EXIST %BACKUPDIR% MOVE /Y %BACKUPDIR% %BACKUPDIR%.OLD
IF NOT EXIST %BACKUPDIR%\datafiles echo "Creating directory..." && md %BACKUPDIR%\datafiles
IF NOT EXIST %BACKUPDIR%\configfiles echo "Creating directory..." && md %BACKUPDIR%\configfiles
IF NOT EXIST %BACKUPDIR%\controlfile echo "Creating directory..." && md %BACKUPDIR%\controlfile
IF NOT EXIST %BACKUPDIR%\scripts echo "Creating directory..." && md %BACKUPDIR%\scripts
IF NOT EXIST %BACKUPDIR%\redologs echo "Creating directory..." && md %BACKUPDIR%\redologs
IF NOT EXIST %BACKUPDIR%\archivedlogs echo "Creating directory..." && md %BACKUPDIR%\archivedlogs
IF NOT EXIST %BACKUPDIR%\backuplogs echo "Creating directory..." && md %BACKUPDIR%\backuplogs

set BACKUPLOG=%BACKUPDIR%\backuplogs\bck-%y%%mt%%d%-%h%%m%%s%.log
call :sleep 5

:: **** Perform Hot Backup of tablespaces ****
:: ** This SQL creates also an environment script **
:: ** (env.bat), which is launched afterwards **
sqlplus -s "/ as sysdba" @%BCKTOOLDIR%\oraback.sql %BACKUPSET% > %BACKUPLOG%

:: **** Setting some Oracle environment ****
call env.bat

:: **** Copying Database trace file ****
FOR /F "delims=" %%F in ('dir %UDUMPDIR%\*.trc /OD /A-D /B') do set trcfile=%UDUMPDIR%\%%F
copy /v /y %trcfile% %BACKUPDIR%\scripts\restore_trc.txt && echo "Copied %trcfile%" >> %BACKUPLOG%

:: **** Copying archived logs ****
FOR /F "tokens=*" %%F in ('dir %ARCHDIR%\*.* /O-D /A-D /B') DO echo %ARCHDIR%\%%F >> archlogs.lst
FOR /F "delims=" %%F in ('more ^< archlogs.lst') DO copy /v /y %%F %BACKUPDIR%\archivedlogs && echo "Copied %%F" >> %BACKUPLOG%

:: **** Deleting all archived logs but the newest one ****
FOR /F "delims= skip=1" %%F in ('more ^< archlogs.lst') DO del %%F && echo "Deleted %%F" >> %BACKUPLOG%

del archlogs.lst

:: **** Copying backup logfile to logs directory ****
copy /v /y %BACKUPLOG% logs

:: *** Deleting lock file for this node on backup folder ***
del W:\%BACKUPSET%.LCK

call :sleep 5

start /wait net use w: /delete

goto :EOF

:: ************* FUNCTIONS ****************
:GetDate yy mm dd
set t=2&if "%date%z" LSS "A" set t=1
for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
  for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
    set %%a=%%d&set %%b=%%e&set %%c=%%f))
endlocal&set %1=%yy:~2%&set %2=%mm%&set %3=%dd%&goto :EOF

:GetTime hh mm ss tt
for /f "tokens=5-8 delims=:. " %%a in ('echo/^|time') do (
  set hh=%%a&set mm=%%b&set ss=%%c&set cs=%%d)
if 1%hh% LSS 20 set hh=0%hh%
endlocal&set %1=%hh%&set %2=%mm%&set %3=%ss%&set %4=%cs%&goto :EOF

:sleep
@ping 127.0.0.1 -n %1% -w 1000> nul
endlocal
goto :EOF


Il listato mostra uno script in shell di DOS, che girava su una macchina Windows 2000; lo script, abbinato ad un altro paio di scripts, consentiva di fare il backup a caldo su nastro magnetico di un database Oracle, in modalità client/server.

Per dare l'idea delle limitazioni della shell di DOS rispetto ad una shell Linux, qui sotto una "funzione" in shell DOS per ricavare l'ora:

Codice: Seleziona tutto
:GetTime hh mm ss tt
for /f "tokens=5-8 delims=:. " %%a in ('echo/^|time') do (
  set hh=%%a&set mm=%%b&set ss=%%c&set cs=%%d)
if 1%hh% LSS 20 set hh=0%hh%
endlocal&set %1=%hh%&set %2=%mm%&set %3=%ss%&set %4=%cs%&goto :EOF


la stessa istruzione in bash di Linux sarebbe qualcosa del tipo
Codice: Seleziona tutto
date +%y%m%d-%H%M%S
Avatar utente
Foto Utentealev
4.160 2 8 12
free expert
 
Messaggi: 4140
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[23] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utenteisd88 » 4 gen 2012, 17:28

lungi dal mettere in dubbio l'utilità della shell DOS ( che per inciso significa Dirty Operative System perché creato in 3 mesi da un programmatore geniale quando pazzoide per tutt'altro motivo che la commercializzazione a livello globale dell'architettura dominante dei PC , maquesta è un'altra storia ) però io non lo consideravo un linguaggio di programmazione quanto un linguaggio di scripting. Anzi mi stupisco di quante cose si possano fare, io ci so solo guardare le Dir e lanciare programmi. La shell linux invece è molto più moderna direi ( gia l'editor vi incorporato mi fa impazzire ) ma anche questo non è un linguaggio di programmazione. Insomma come si fa a scegliere un linguaggio senza sapere cosa se ne deve fare ?? :D
Avatar utente
Foto Utenteisd88
918 1 6 13
Expert EY
Expert EY
 
Messaggi: 576
Iscritto il: 27 feb 2007, 21:44

1
voti

[24] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utenteangus » 4 gen 2012, 17:36

isd88 ha scritto:gia l'editor vi incorporato

l'editor vi non è "incorporato" nella shell. È un software, come tanti altri, senza interfaccia grafica.
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
7.786 4 6 8
G.Master EY
G.Master EY
 
Messaggi: 3565
Iscritto il: 20 giu 2008, 17:25

0
voti

[25] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utentealev » 4 gen 2012, 17:39

isd88 ha scritto:shell DOS [...] io non lo consideravo un linguaggio di programmazione quanto un linguaggio di scripting. [...] La shell linux invece è molto più moderna direi ( gia l'editor vi incorporato mi fa impazzire ) ma anche questo non è un linguaggio di programmazione. Insomma come si fa a scegliere un linguaggio senza sapere cosa se ne deve fare ?? :D

Scusa, quali sarebbero i requisiti di un linguaggio per essere di programmazione? E, secondo tali specifiche, perché le shell di DOS e Linux non sarebbero linguaggi di programmazione?

Per chiarezza, vi non è incorporato nella shell (sarebbe un built-in) ma è un pacchetto indipendente, come annticipato da Foto Utenteangus.

Per imparare, comunque, un linguaggio vale quasi l'altro; dopo essersi chiariti i concetti base, si focalizzano le idee ed i gusti.
Avatar utente
Foto Utentealev
4.160 2 8 12
free expert
 
Messaggi: 4140
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[26] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utenteangus » 4 gen 2012, 17:40

Foto Utentealev, per una volta puntualizziamo nella stessa direzione :mrgreen:
O_/
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
7.786 4 6 8
G.Master EY
G.Master EY
 
Messaggi: 3565
Iscritto il: 20 giu 2008, 17:25

0
voti

[27] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utenteisd88 » 4 gen 2012, 17:42

va be comunque va insieme alla shell..... errore mio ma trascurabile :D

comunque tra il C e i comandi DOS io direi che il C è un linguaggio di programmazione perche posso farci eseguibili per varie piattaforme compilando il mio codice. Gli script per DOS sono tali e tali restano. Sbaglio qualcosa? resta il fatto che è solo un opinione personale , non me ne intendo molto di programmazione (ma il vi ovunque vado lo trovo :D)
Avatar utente
Foto Utenteisd88
918 1 6 13
Expert EY
Expert EY
 
Messaggi: 576
Iscritto il: 27 feb 2007, 21:44

0
voti

[28] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utentealev » 4 gen 2012, 17:43

angus ha scritto:per una volta

Non solo adesso, comunque, mi pare; a me piace essere franco ed obiettivo, quando possibile :ok:
Avatar utente
Foto Utentealev
4.160 2 8 12
free expert
 
Messaggi: 4140
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

2
voti

[29] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto UtenteOberoN » 4 gen 2012, 17:44

Python? :mrgreen:
Per usare un simulatore devi conoscere più elettronica di lui. [Foto UtenteIsidoroKZ]
40. There are two ways to write error-free programs; only the third one works.
[Alan J. Perlis, Epigrams on Programming]
Avatar utente
Foto UtenteOberoN
796 1 4 9
Stabilizzato
Stabilizzato
 
Messaggi: 483
Iscritto il: 12 feb 2011, 18:20
Località: 127.0.0.1

1
voti

[30] Re: Buon linguaggio di programmazione, ma facile?

Messaggioda Foto Utenteangus » 4 gen 2012, 17:44

isd88 ha scritto:va be comunque va insieme alla shell..... errore mio ma trascurabile :D

Si "pretende" un minimo di precisione, anche nei termini, e dire che vi "va insieme alla shell"... per usare un eufemismo, è un'imprecisione tutt'altro che trascurabile.
in /dev/null no one can hear you scream
Avatar utente
Foto Utenteangus
7.786 4 6 8
G.Master EY
G.Master EY
 
Messaggi: 3565
Iscritto il: 20 giu 2008, 17:25

PrecedenteProssimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti