Mostrando entradas con la etiqueta aprender. Mostrar todas las entradas
Mostrando entradas con la etiqueta aprender. Mostrar todas las entradas
domingo, 8 de mayo de 2022
martes, 10 de septiembre de 2019
Micro frameworks para desarrolladores Java
Existen 1343300... frameworks para desarrollar con Java y la lista sigue creciendo. En este post veremos una lista de micro framework que deberíamos conocer.
sábado, 13 de agosto de 2016
Ama el problema, no tu solución
Les dejo este vídeo de Coder Dog sobre los problemas a los que nos enfrentamos en el desarrollo de aplicaciones.
sábado, 23 de mayo de 2015
¿Por qué Perl?
Tal vez a muchos no les llame la atención el lenguaje de programación Perl, tal vez ni sepan que existe, o que ventajas o desventajas tiene con respecto a lenguajes como Java o Python. Sin embargo, considero que no se pierde el tiempo en conocerlo.
Cuando recién iniciaba la carrera, los profesores recomendaban usar lenguajes como C para aprender los conceptos básicos de la programación. Conforme pasaba el tiempo hablaban de lenguajes o entornos de programación como Visual Basic o Delphi (Pascal) y según ellos eran los ideales para conseguir un trabajo. Después con el boom de las aplicaciones web, PHP se convirtió en el lenguaje más popular.
Lenguajes como Java y C# comenzaban a tener más adeptos, así como entornos de desarrollo o IDES como Visual Studio, Eclipse y NetBeans. Nadie hablaba de lenguajes como Perl o LISP. Eso era del conocimiento de los más nerds de los nerds.
La primera vez que escuche sobre Perl fue en un foro sobre trucos de programación (no recuerdo el nombre) y servidores,se recomendaba el uso de ese lenguaje si querías ser administrador de sistemas y base de datos (si de esos gorditos bonachones que saben un buen de cosas y que te dan un buen de soluciones a tus dudas de programación y de sistemas). Había interesantes scripts para la administración de servidores, detección de intrusos en red, y hasta para la recuperación de datos. Eso sí algunos scripts eran bastante complejos de entender.
Pero a todo esto ¿por qué Perl? ... con este lenguaje se puede hacer todo, desde las clásicas aplicaciones tipo consola hasta aplicaciones web. Incluso aplicaciones con interfaz gráfica. Es relativamente fácil de aprender si tienes familiaridad con lenguajes como C o PHP (de hecho este último se inspiro en el).
No es la octava maravilla del mundo, tienes sus ventajas y desventajas como cualquier otro.
Update:
Larry Wall explica por qué Perl es parecido al lenguaje humano:
Links
http://trabajodeprogramacionperl.blogspot.mx/p/que-es-y-para-que-sirve.html
Larry Wall explica por qué Perl es parecido al lenguaje humano:
Links
http://trabajodeprogramacionperl.blogspot.mx/p/que-es-y-para-que-sirve.html
sábado, 26 de abril de 2014
Aprender Scala ... o no hacerlo
1. Clases, setters y getters
En Java:
public class Javesco{
private String nombre="";
public Javesco(){}
public Javesco(String nombre){
this.nombre=nombre;
}
//setter y getter
public void setNombre(){ this.nombre=nombre; }
public String getNombre(){ return nombre; }
}
En Scala:
class Simple(){
var nombre:String=""
}
Obviamente escribimos menos código, sin embargo esto también puede parecernos confuso (al menos al principio),¿donde queda el private, protected o el public?. La razón es que Scala es un lenguaje más flexible, nos permite hacer muchas cosas, cambiar la manera en que planteas las soluciones.
Creando una clase "compleja":
class Compleja(val _nombrex:String=null){
private var _nombre:String=_nombrex
//setter y getter
def nombre=_nombre
def nombre_=(value:String):Unit=_nombre=value
}
Este código es más parecido a la clase hecha en Java.En esta definimos los setters y getters. Aunque la de arriba es más legible y sencilla de entender(Simple).
Ahora creamos un archivo llamado Codemonkey.scala y escribimos:
object Codemonkey{
def main(args: Array[String]): Unit = {
val simple=new Simple
simple.nombre="Scala Johansson"
Console.println("Hola "+simple.nombre)
val compleja=new Compleja("Jonh Worth")
Console.println("Hola "+compleja.nombre)
simple.nombre="Maria Java"
compleja.nombre="Tom Groovy"
Console.println("Hola "+simple.nombre)
Console.println("Hola "+compleja.nombre)
}
}
Sigue siendo un código legible, no cambia mucho. Scala nos permite hacer las cosas de diferentes maneras.
2. Los import
En Java es necesario definir las clases y/o librerías externas desde la cabecera del código.
import javax.swing.JOptionPane;
public class Codemonkey{
public static void main(String ... args){
JOptionPane.showMessageDialog(null,"Hola desde codemonkey");
}
}
Con Scala no es necesario, podemos definir los import desde cualquier parte del código.
object Codemonkey{
def main(args: Array[String]): Unit = {
import javax.swing.JOptionPane
JOptionPane.showMessageDialog(null,"Hola desde codemonkey")
}
}
3. Conservar los proyectos ya hechos.
Scala al ser dependiende de la JVM permite interoperabilidad con proyectos Java.
Creamos una clase Java llamada Prueba.java y la compilamos, nos generará un *.class
public class Prueba{
public void verMensaje(){
System.out.println("Hola Scala soy un método creado desde una clase Java");
}
}
Ahora creamos el código en Scala, instanciamos la clase Prueba
object Codemonkey{
def main(args: Array[String]): Unit = {
val prueba=new Prueba
prueba.verMensaje
}
}
Java sigue siendo un buen lenguaje y bastante usado, aunque la verdad al crecer tanto la complejidad para aprenderlo también lo hizo.
¿Qué más tiene Scala?
Concurrencia, pattern matching,traits, etc. Un mundo de posiblidades se presenta, tal vez en próximos post ponga más ejemplos.
Por lo pronto no sé si convenga aprender Scala (algunos les parecerá perdida de tiempo, a otros no tanto), pero vaya que si es interesante.
jueves, 17 de noviembre de 2011
¿Cómo introducir/mostrar datos en Java, C, Groovy & Python?
En Java/Groovy
1. Uso de java.util.Scanner y java.io
package control.pruebas;
import java.util.Scanner;
import java.io.*;
public class Entrada {
/**
* @param args
*/
public static void main(String[] args) {
BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in));
Scanner tecla=new Scanner(System.in);
System.out.println("Introduce entero");
int entero;
try {
entero = Integer.parseInt(teclado.readLine());
System.out.printf("%d",entero);
System.out.println(entero);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Introduce real");
double real;
try {
real = Double.parseDouble(teclado.readLine());
System.out.printf("%f",real);
System.out.println(real);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Introduce cadena");
String cadena;
try {
cadena = teclado.readLine();
System.out.printf("%s",cadena);
System.out.println(cadena);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Introduce entero");
int enterox= tecla.nextInt();
System.out.printf("%d",enterox);
System.out.println(enterox);
System.out.println("Introduce real");
double realx= tecla.nextInt();
System.out.printf("%f",realx);
System.out.println(realx);
System.out.println("Introduce cadena");
String cadenax= tecla.nextLine();
System.out.printf("%s",cadenax);
System.out.println(cadenax);
}
}
En Python
entero=int(raw_input('Introduce entero:'))
print "entero: %d"%(entero)
print "entero: ",entero
real=float(raw_input('Introduce real:'))
print "real: %f"%(real)
print "real: ",real
cadena=raw_input('Introduce cadena')
print "cadena: ",cadena
En C
int entero;
float real;
printf("Introduce entero:"); scanf("%d",&entero);
printf("entero: %d",entero);
printf("Introduce real:"); scanf("%d",&real);
printf("entero: %f",real);
char cadena[23];
puts("Introduce cadena");
gets(cadena);
puts(cadena);
Suscribirse a:
Entradas (Atom)
Jai un lenguaje de programación inspirado en C++
Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...
-
Progress ABL es un lenguaje de programación vinculado al entorno Progress OpenEdge , su base de datos y las utilidades que lo rodean. Es s...
-
Claude Code es una herramienta de inteligencia artificial creada por Anthropic que funciona directamente en la terminal. Sirve para acele...
-
Ionic es un framework que permite crear aplicaciones móviles híbridas. Éstas aplicaciones son las que emplean tecnologías como HTML, CSS ...
Etiquetas
- .NET
- 100
- 2026
- abl
- abstract
- abstractas
- activemq
- ada
- agente
- agile
- akka
- algoritmos
- almacenados
- alternativa
- android
- angular
- angularjs
- apache
- apache-camel
- apache-mesos
- apache-poi
- apex
- api
- appserv
- aprender
- aprender java
- aprender jsf
- aprender python
- aprendizaje
- area
- args
- aserciones
- asm
- asp
- assembly
- assert
- automatización
- awk
- aws
- ayuda
- azure
- backend
- ballerina
- base de datos
- bases de datos
- bash
- bat
- bd
- beam
- beef
- bigquery
- biotipo
- bitacora
- bitcoin
- bleam
- blockchain
- blog
- bq
- bucket
- bundle
- c
- c#
- c++
- c3
- calculadora
- calculo
- camel
- case
- cassandra
- celsius
- ceylon
- cgi
- charp
- charts
- chatgpt
- cherrypy
- chino
- cibersecurity
- clang
- clases
- claude code
- cli
- cliente
- clojure
- closures
- cloud
- cmd
- cmd.bat
- coalesce
- cobol
- codeblocks
- codeigniter
- codes
- código
- códigos
- comando
- comandos
- commit
- comparativa
- compartir
- compilador
- compile
- composer
- comprobación
- computación
- computing
- conceptos
- concurnas
- concurrente
- condicionales
- conectividad
- configuration
- consejos
- const
- constantes
- consultas
- contenedores
- contenedores web
- control de versiones
- conversion
- conversor
- convertidor
- copilot
- core
- corsera
- couchdb
- cpan
- cplus
- cpp
- cpp-httplib
- crear
- cripto
- criptomoneda
- crow
- CrowdStrike
- crystal
- csharp
- cshtml
- css
- css3
- csv
- cte
- curso
- d
- dancer2
- dapper
- datastage
- datos
- deepseek
- delphi
- deploy
- desarrollo
- determinar
- dev c++
- developer
- devops
- días
- directivas
- disparejo
- distribuido
- django
- dlang
- doc
- docker
- docker-swarm
- dockerfile
- document
- documentación
- documental
- dotnet
- driver
- dsl
- dylan
- easyphp
- eclipse
- eclipse foundation
- eclipse y scala
- economica
- editor
- eip
- ejb
- ejecutar
- ejemplos
- ejemplos cpp
- ejemplos de csharp
- ejemplos de scala
- ejemplos java
- ejemplos python
- ejmeplo
- elixir
- elixir.
- en línea
- encapsulación
- ensamblador
- entityframework
- enum
- erlang
- error
- errores
- es6
- escribir
- esproc
- esprocsqpl
- estructuras
- ethereum
- euler
- excel
- excepciones
- expando
- export
- express
- externa
- f#
- faces
- fahrenheit
- feliz año
- fetch
- filosofía
- firebase
- flask
- foreach
- framework
- fsharp
- funcional
- funciones
- functions
- futuro
- gcc
- gcp
- geany
- gem
- gemfile
- generador de proyectos
- genie
- gestor de proyectos
- github
- glassfish
- gleam
- gnu
- go
- golang
- google web toolkit
- gosu
- graalvm
- gradle
- grain
- grapes
- graphql
- graven
- grok
- grooscript
- groovy
- groovyeConsole
- grpc
- gson
- gui
- gwt
- gwtext
- hashicorp
- hashmap
- haskell
- haxe
- headers
- helidon
- helm
- herencia
- hibernate
- hola
- hola en ceylon
- horoscopo
- HTA
- html
- html5
- http
- http-server
- http/2
- ia
- iaas
- iac
- ibm
- IDE
- ide scala
- if
- ifnull
- imagen
- imc
- import
- importar
- ingeniería
- iniciar glassfish
- iniciar tomcat
- inicio
- inicio en ceylon
- IntelliJ IDEA pycharm
- interface
- interfaces
- interfaz
- interna
- interoperabilidad
- interprete
- interview
- inversión de control
- inyección de dependencias
- ionic
- ios
- jabaco
- jai
- jakartaee
- java
- java swing
- java y ceylon
- JAVA_HOME
- javadoc
- javaee
- javascript
- javaserver
- jax-rs
- jaxb
- jdbc
- jdbi
- jdk
- jdk8
- jee
- jpa
- jpql
- jquery
- jre
- jruby
- jscript
- jsf
- jsni
- json
- juego
- julia
- jvm
- jvm y ceylon
- jython
- k8s
- kafka
- kanban
- katas
- kate
- koltin
- kotlin
- ktor
- kubectl
- kubernetes
- la path
- langchain
- langchain4j
- laravel
- learn
- lectura
- lenguaje
- lenguaje scala
- lenguajes
- let
- leyes
- librería
- libro
- linq
- linux
- list
- lista
- listas
- livescript
- llm
- llvm
- logger
- lua
- macro
- major
- mapas
- mariadb
- maven
- maven y eclipse
- mensajería
- mensajes
- menú
- mercurial
- messagebox
- metaClass
- micronaut
- microsoft
- minilux
- minimal api
- mix
- mobile
- modularidad
- módulo
- mojo
- mojolicious
- mongo
- mongodb
- mono
- monodevelop
- moonbit
- ms-dos
- mu
- mulesoft
- mvc
- mybatis
- mysql
- n8n
- native images
- neo4j
- netbeans
- nexus
- ng
- nicon notify
- nimrod
- nlog
- node
- nodejs
- nomad
- nosql
- notificaciones
- npm
- nube
- nuevo
- nuget
- nullable
- nullif
- numericas
- ocaml
- okhttp3
- ollama
- online
- openai
- openclaw
- opencode
- opendylan
- openedge
- operaciones
- oracel
- oracle
- orientación a objetos
- orm
- otp
- owasp
- paas
- paas iaas
- package
- packages
- padrino
- paradigma
- pascal
- path groovy
- path java
- patrones de coincidencia
- patrones de diseño
- pattern matching
- pdf-parser
- perl
- phoenix
- php
- pl/1
- plot
- plsql
- pom.xml.build.gradle
- poo
- powershell
- pregunta
- problema
- problemas al ejecutar programa en ceylon
- procedimientos
- procedures
- programa
- programacion
- programación
- programador
- programadores
- programar
- programas
- programas java
- programming
- progress
- prompt engineering
- proto
- protobuff
- protocolos
- proyectos maven
- prueba
- pseint
- pubsub
- pulsaciones
- pyramid
- python
- pyzenity
- quarkus
- questions
- r
- rabbitmq
- reactiva
- rebar3
- record
- recursos
- regex
- regiones
- remix
- repl
- replace
- repositorios
- REST
- RESTEasy
- reverse
- romanos
- ruby
- run
- rust
- ruta
- saas
- sanic
- sap
- sas
- sbt
- scala
- scottplot
- scripting
- scripts
- scrum
- sdkman
- security
- seguridad
- semántica
- sentencias
- serilog
- servidor
- shell
- show
- simplej
- sinatra
- singleton
- sintaxis
- sitios
- slim
- sms
- smslib
- soap
- socket.io
- solidity
- solución
- spark
- spl
- spring
- spring framework
- spring-boot
- spyder
- sql
- standard
- storage
- stored
- strawberry
- struts
- style
- svn
- swagger
- swift
- symfony
- system
- tapestry
- tarot
- tdd
- técnicas
- terminal
- terraform
- the maven integration requires that eclipse be running in a jdk
- tiempo
- tips
- tomcat
- top-down
- tornadoweb
- trailer
- tratamiento xml
- triggers
- turbogears
- tutoriales
- type
- typescript
- udemy
- udf
- unitarias
- unsupported
- usar jdk
- uso
- uwamp
- variables
- vba
- vbscript
- ventanas
- verificar
- version
- version_52.0
- versiones
- vertx
- vibecoding
- videojuegos
- vistazo
- visual code
- visual csharp
- visual studio
- vite
- vscode
- vulnerabilidades
- wampserver
- wasm
- web
- web2pybottle
- webapi
- webassembly
- webhooks
- websharper
- websocket
- wildfly
- window
- windows
- windows-services
- wisp
- work-services
- wsl
- WSO2
- xampp
- xml
- xunit
- yaml
- youtube
- zenity
Archivo del blog
-
►
2025
(83)
- ► septiembre (7)
-
►
2024
(58)
- ► septiembre (1)
-
►
2023
(12)
- ► septiembre (1)
-
►
2022
(10)
- ► septiembre (1)
-
►
2021
(26)
- ► septiembre (1)
-
►
2020
(9)
- ► septiembre (2)
-
►
2019
(26)
- ► septiembre (3)
-
►
2015
(24)
- ► septiembre (4)
-
►
2014
(36)
- ► septiembre (1)
-
►
2013
(40)
- ► septiembre (5)
-
►
2012
(46)
- ► septiembre (3)





