Se puede distinguir dos tipos de lenguajes, según se realice esta conversión:
- En los intérpretes, cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos (a cambio, los intérpretes suelen ser más fáciles de crear, lo que permite que sean baratos y que puedan funcionar en ordenadores con menor potencia).
- En los compiladores, se convierte todo el programa en bloque a código máquina y después se ejecuta. Así, hay que esperar más que en un intérprete para comenzar a ver trabajar el programa, pero después éste funciona mucho más rápido (a cambio, los compiladores son más caros y suelen requerir ordenadores más potentes).
- Un editor para escribir o revisar los programas.
- El compilador propiamente dicho, que los convierte a código máquina.
- Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores.
C, uno de los mejor considerados actualmente (junto con C++ y Java, que mencionaremos a continuación), porque no es demasiado difícil de aprender y permite un grado de control del ordenador muy alto, combinando características de lenguajes de alto y bajo nivel. Además, es muy transportable: existe un estándar, el ANSI C, lo que asegura que se pueden convertir programas en C de un ordenador a otro o de un sistema operativo a otro con bastante menos esfuerzo que en otros lenguajes.
C++, un lenguaje desarrollado a partir de C, que permite Programación Orientada a Objetos, por lo que resulta más adecuado para proyectos de una cierta envergadura.
Java, desarrollado a su vez a partir de C++, que elimina algunos de sus inconvenientes, y ha alcanzado una gran difusión gracias a su empleo en Internet.
PASCAL, el lenguaje estructurado por excelencia (ya se irá viendo qué es esto más adelante), y que en algunas versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y de Delphi en la programación para Windows. Frente al C tiene el inconveniente de que es menos portable, y la ventaja de que en el caso concreto de la programación para DOS, Turbo Pascal no tiene nada que envidiar la mayoría de versiones del lenguaje C en cuanto a potencia, y además resulta más fácil de aprender, es muy rápido, crea ficheros EXE más pequeños, etc., mientras que en la programación para Windows, Delphi es una muy buena herramienta para crear aplicaciones de calidad en un tiempo razonablemente breve.
BASIC: Generar password.
Private Sub Command1_Click()
Beep
End
End Sub
Private Sub Command2_Click()
Beep
End
End Sub
Private Sub Label4_Click()
Beep
End
End Sub
Private Sub Form_Load()
Data1.Visible = False
Data1.DatabaseName = App.Path + "\pas1.mdb"
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
SendKeys "{home}+{end}"
Text1.Text = LCase(Text1.Text)
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Data1.RecordSource = ("select * from pass where password='" & Text2.Text & "' and user = '" & Text1.Text & "'")
Data1.Refresh
If Text3.Text = "" Or Text4.Text = "" Then
MsgBox "Aceso Denegado", vbCritical, "Password"
Text1.SetFocus
SendKeys "{home}+{end}"
Else
MsgBox "Aceso Aprobado", vbInformation, "Password"
Unload password
Load main
main.Show
'Load frmTip
'frmTip.Show 1
End If
End If
End Sub
Pascal: Generar password.
var Ch : Char; Ch: Char; Pass : String; Pass: String; count : integer; contar con: integer; begin comenzar Pass := ''; Pass: =''; count := 0; contar: = 0; repeat repetir Ch := ReadKey; Ch: = ReadKey; if (Ch = #8) then if (Ch = # 8) entonces begin comenzar write(ch); escribir (ch); if (count <= 0) then begin Pass := Pass; end else if (cuenta <= 0) then begin Pass: Pase =; end else if (count > 0) then begin Pass := Pass + Ch; end; if (count> 0) then begin Pass: Pase = + Ch; fin; dec(count); diciembre (cuenta); end else end else if (Ch in [#32..#126]) then if (Ch en [# 32 .. # 126]), entonces begin comenzar Write('*'); Escribir ('*'); Pass := Pass + Ch; Pass: Pase = + Ch; inc(count); inc (cuenta); end; final; until (Ch = #13); hasta que (Ch = # 13); WriteLn; WriteLn; WriteLn('You Entered: ' + Pass); WriteLn ('que introdujo: "Pase +); end. finales.
C++: Generar password.
Random_Password() { int ran_int_num; time_t seconds; time(&seconds); srand ((unsigned int) seconds); /* multiply by 975 to generate a larger number */ ran_int_num = rand() * 975;
sprintf(randompw, "%u", ran_int_num); strncpy(newpw, randompw, 8); return(0); } Here's what I tried to change it to, in order to generate an alphanumeric: GenerateRandomID() { char password_chars["1234567890abcdefghijklmnopqrstuvwxyz"]; int i; int length; char ticketid; int random; for (i = 0; i < length; i++) { random = rand(0, strlen(password_chars) - 1); ticketid = password_chars[random]; } return ticketid; }
No hay comentarios:
Publicar un comentario