Python seguirá utilizándose porque la variedad de lenguajes abarata el costo de desarrollo, en mi caso soy adicto a C# aunque por ahora he hecho una pausa y me he centrado en HTML, CSS y TypeScript junto con Angular y diseño UX/UI, Saludos 😁
No hay runtime en Rust... Yo lo estoy aprendiendo de a poco en microsoft, pero muy poco claro para hacer algo mas o menos para sacar un proyecto en github. Otro detalle que hay de Rust, es que es MUY parecido a C++ y en ciertas cosas, no hay mucha diferencia (excepto con el manejo de errores y el tema de la memoria, algo que va a ser muy importante en los videojuegos).
Rust ya está metido en Android y el Kernel Linux, y es respetado por Linus Torvalds que ya sabemos como se expresó respecto de C++, es bastante que decir.
El problema es que Linux no es propiedad de Torvalds y luego cambiar librerías de C/C++ de Windows, OSX, Android, iOS y Unix, pues lo veo bastante complicado. Rust puede trabajar como binding en esos sistemas, pero no son la base aún.
Yo estoy muy agradecido que como desarrollador de Firmware (Sistemas embebidos) no solo este amarrado a C++ si no tambien tener ya Rust o Micropython para programacion de microcontroladores
Tu has de ser programador quizás por eso, pero de mi parte que soy de otra área es lo que me ha permitido subir mi productividad full, así que yo bien gracias
Rust nunca remplazará a C++. C# y Rust son muy buenos lenguajes. A mí tampoco me gusta para nada Python, gracias a que es lento, pesado y sin bibliotecas de tercero es peor que lua.
Go es un buen lenguaje para conseguir trabajo como backend hoy en día, pero en un futuro cercano (1 año): Rust lo será ya que se está usando mucho en blockchain.
Gracias por los comentarios compañeros, la verdad quiero ser backend, seguiré con mi camino con GO, les deseo mucha suerte, pronto les traeré mi actualización de como voy.
@@silaspy-ff2ne Dónde estás viendo cursos de GO? Mediante UA-cam o compraste algún bootcamp?, yo terminé apenas de ver uno de Axelroel y otro de un pelón jejej XD, pero me gustaría saber igual de dónde aprendes los lenguajes, me sería de mucha ayuda amigo!!!
Hola Moure! En primer lugar darte las gracias, tu contenido me está ayudando muchísimo en mi formación de DAM y agradezco infinitamente tus cursos. Con respecto a esta clase de vídeos también me encantan y me interesan muchísimo, sólo como crítica constructiva he echado en falta una conclusión final. Aunque en el vídeo queda todo claro es como que la forma de finalizar el vídeo ha sido un poco cortante. Sigue así, eres genial!
Da lo mismo el lenguaje de programación, lo importante son los algoritmos, el verdadero programador piensa en ellos ante todo, el lenguaje es cosa de gusto personal, pero no debería ser algo importante para realizar el trabajo
Yo soy programsdor de c++ y rust por años y rust si bien está ganando popularidad está anos pero años en alcanzar a c++ porque lo digo porque varias cosas ya construídas vienen de años de desarrollo actualizaciones de c++, que con decirte que aveces creo un paquete o un programa que haga algo tengo que usar funciones de c++ para asegurar la memoria con rust, algunas empresas si están reescribiendo todo eso sí pero al depurar un código en Rust y desamblarlo para optimizarlo no es del todo seguro ya salieron demasiados bugs de la llvm de rust, entonces solo porque Elon musk lo dijo me parece algo estuoido porque si bien tiene influencia en la cultura geek no es programador el es empresario el no está 24 hrs como algunos de nosotros metidos en el código.
No papi,no…con rust puedo hacer todo!Ademas, puedo programar mis redes neuronales muchísimo más optimas y súper rápidas sin necesidad de una gpu…esa es la clave
C# es grande por el tema de azure y microsoft que esta haciendose un ecosistema super simplificado con azure, windows, office365 y .net estan haciendo su ecosistema por eso esta creciendo pero personalmente es un lenguaje que me gusta pero sinceramente me da un poco de piqui usarlo como main por que conocemos microsoft... es lo mismo que oracle...
@@Turko77777 hoy en día si .net se quedará en lo que es open source y Microsoft no metiera apoyos en azure y en su ecosistema c# no sería lo que es el día de hoy sería más chico mucho
Python es maravilloso, pero el hecho de que sea maravilloso es la razón de por qué sea un lenguaje tan lento e hinchado. ¿Has visto la librería de PyTorch? Pues ese es un ejemplo de por qué quizá Python no vaya a tener un buen futuro.
Genial estos videos de actualización de noticias, gracias por tanto contenido!
C# es mucho muy bueno. Ojalá me tocara un proyecto en Blazor o un multiplataforma con MAUI.
Hasta Godot tine su versión con C#.
@@matiturock no lo sabía. Entonces si le daré una oportunidad a godot
y zig? y vala? y crystal? y carbon?
Python seguirá utilizándose porque la variedad de lenguajes abarata el costo de desarrollo, en mi caso soy adicto a C# aunque por ahora he hecho una pausa y me he centrado en HTML, CSS y TypeScript junto con Angular y diseño UX/UI, Saludos 😁
Me representas a mi me sacas de C# y es como volver a nacer 😂
Gracias por compartir 😀👍 saludos desde Colombia.
Y porque usa cpp y js para spacex? Por el momento no he visto una gui decente en puro rust y las de c# so muy lentas
No hay runtime en Rust... Yo lo estoy aprendiendo de a poco en microsoft, pero muy poco claro para hacer algo mas o menos para sacar un proyecto en github.
Otro detalle que hay de Rust, es que es MUY parecido a C++ y en ciertas cosas, no hay mucha diferencia (excepto con el manejo de errores y el tema de la memoria, algo que va a ser muy importante en los videojuegos).
Esperamos el curso de Cobol 🫠
y yo justo aprendiendo los dos :O xDd
Ya somos dos Python y c
donde puedo encontrar el curso de github actions??
Para la semana lo subiré.
Che Moure !
El Coböl podría ir en un lenguaje un dia?
y saben algo de Forté???? ayuda con historia y como podria migrarme de forté a ALGO, por Dios
Esperamos tu curso de Cobol!
Rust ya está metido en Android y el Kernel Linux, y es respetado por Linus Torvalds que ya sabemos como se expresó respecto de C++, es bastante que decir.
El problema es que Linux no es propiedad de Torvalds y luego cambiar librerías de C/C++ de Windows, OSX, Android, iOS y Unix, pues lo veo bastante complicado. Rust puede trabajar como binding en esos sistemas, pero no son la base aún.
Yo estoy muy agradecido que como desarrollador de Firmware (Sistemas embebidos) no solo este amarrado a C++ si no tambien tener ya Rust o Micropython para programacion de microcontroladores
Se viene curso de COBOL
😂😂
C# es mi lenguaje favorito. No me extraña y Rust aún no lo he tocado, pero seguro que es mejor que Python que no me gusta nada.
Tu has de ser programador quizás por eso, pero de mi parte que soy de otra área es lo que me ha permitido subir mi productividad full, así que yo bien gracias
Rust nunca remplazará a C++.
C# y Rust son muy buenos lenguajes.
A mí tampoco me gusta para nada Python, gracias a que es lento, pesado y sin bibliotecas de tercero es peor que lua.
@@Catgame345-EACV14 opino igual
Además Python para microcontroladores o similar es simplemente inutilizable
@@hispano77e Muy cierto.
Y yo aprendiendo Go para ser backend 😞🥲
No te tomes en serio este índice, tu sigue
Go es un buen lenguaje para conseguir trabajo como backend hoy en día, pero en un futuro cercano (1 año): Rust lo será ya que se está usando mucho en blockchain.
Gracias por los comentarios compañeros, la verdad quiero ser backend, seguiré con mi camino con GO, les deseo mucha suerte, pronto les traeré mi actualización de como voy.
@@UnDarkVader Veré algún tutorial o curso, para aprender rust!!!
@@silaspy-ff2ne Dónde estás viendo cursos de GO? Mediante UA-cam o compraste algún bootcamp?, yo terminé apenas de ver uno de Axelroel y otro de un pelón jejej XD, pero me gustaría saber igual de dónde aprendes los lenguajes, me sería de mucha ayuda amigo!!!
Hola Moure!
En primer lugar darte las gracias, tu contenido me está ayudando muchísimo en mi formación de DAM y agradezco infinitamente tus cursos. Con respecto a esta clase de vídeos también me encantan y me interesan muchísimo, sólo como crítica constructiva he echado en falta una conclusión final. Aunque en el vídeo queda todo claro es como que la forma de finalizar el vídeo ha sido un poco cortante.
Sigue así, eres genial!
GO está quedando olvidado por Google 😞
Un clásico de Google
Y dart dominando
Feliz q el primer lenguaje que aprendí fue c# (gracias unity)
Aguante Lua 😅
Da lo mismo el lenguaje de programación, lo importante son los algoritmos, el verdadero programador piensa en ellos ante todo, el lenguaje es cosa de gusto personal, pero no debería ser algo importante para realizar el trabajo
No es así, es como decir que en la Formula 1 no importa el automóvil, solo importa el trazado que realizado.
@@Turko77777 si no sabes algorítmos ni matemáticas, como resuelves un problema, le preguntas al chatgpt?
Cobol, JS y SQL nos van a enterrar a todos, acuerdense de esto y diganselo a sus nietos xD
Porque SQL?
@@sombra4990 porque no tendrá reemplazo
@@sombra4990Porque ya tiene sus años y aún sigue vigente por los motores de BD relacionales.
@@sombra4990 se necesita si o si !!!
Si comienza a programar su granja servidor (DOJO) con Rust, entonces le creo.
Para eso está Actix Web en Rust... No hay lio.
Yo soy programsdor de c++ y rust por años y rust si bien está ganando popularidad está anos pero años en alcanzar a c++ porque lo digo porque varias cosas ya construídas vienen de años de desarrollo actualizaciones de c++, que con decirte que aveces creo un paquete o un programa que haga algo tengo que usar funciones de c++ para asegurar la memoria con rust, algunas empresas si están reescribiendo todo eso sí pero al depurar un código en Rust y desamblarlo para optimizarlo no es del todo seguro ya salieron demasiados bugs de la llvm de rust, entonces solo porque Elon musk lo dijo me parece algo estuoido porque si bien tiene influencia en la cultura geek no es programador el es empresario el no está 24 hrs como algunos de nosotros metidos en el código.
C++ tiene ya 50000 mil años, déjalo morir en paz. Musk es programador, tú trabajas para comer, él no.
We, si programas como escribes......
No papi,no…con rust puedo hacer todo!Ademas, puedo programar mis redes neuronales muchísimo más optimas y súper rápidas sin necesidad de una gpu…esa es la clave
😮
😮
a ver mostrame las redes neuronales que has programado
#[cfg(feature = "mkl")]
extern crate intel_mkl_src;
#[cfg(feature = "accelerate")]
extern crate accelerate_src;
use anyhow::{Error as E, Result};
use clap::Parser;
use candle_transformers::models::chatglm::{Config, Model};
use candle::{DType, Device, Tensor};
use candle_nn::VarBuilder;
use candle_transformers::generation::LogitsProcessor;
use hf_hub::{api::sync::Api, Repo, RepoType};
use tokenizers::Tokenizer;
struct TextGeneration {
model: Model,
device: Device,
tokenizer: Tokenizer,
logits_processor: LogitsProcessor,
repeat_penalty: f32,
repeat_last_n: usize,
verbose_prompt: bool,
}
impl TextGeneration {
#[allow(clippy::too_many_arguments)]
fn new(
model: Model,
tokenizer: Tokenizer,
seed: u64,
temp: Option,
top_p: Option,
repeat_penalty: f32,
repeat_last_n: usize,
verbose_prompt: bool,
device: &Device,
) -> Self {
let logits_processor = LogitsProcessor::new(seed, temp, top_p);
Self {
model,
tokenizer,
logits_processor,
repeat_penalty,
repeat_last_n,
verbose_prompt,
device: device.clone(),
}
}
fn run(&mut self, prompt: &str, sample_len: usize) -> Result {
use std::io::Write;
println!("starting the inference loop");
let tokens = self.tokenizer.encode(prompt, true).map_err(E::msg)?;
if tokens.is_empty() {
anyhow::bail!("Empty prompts are not supported in the chatglm model.")
}
if self.verbose_prompt {
for (token, id) in tokens.get_tokens().iter().zip(tokens.get_ids().iter()) {
let token = token.replace('▁', " ").replace("", "
");
println!("{id:7} -> '{token}'");
}
}
let mut tokens = tokens.get_ids().to_vec();
let mut generated_tokens = 0usize;
let eos_token = match self.tokenizer.get_vocab(true).get("") {
Some(token) => *token,
None => anyhow::bail!("cannot find the endoftext token"),
};
print!("{prompt}");
std::io::stdout().flush()?;
let start_gen = std::time::Instant::now();
for index in 0..sample_len {
let context_size = if index > 0 { 1 } else { tokens.len() };
let ctxt = &tokens[tokens.len().saturating_sub(context_size)..];
let input = Tensor::new(ctxt, &self.device)?.unsqueeze(0)?;
let logits = self.model.forward(&input)?;
let logits = logits.squeeze(0)?.to_dtype(DType::F32)?;
let logits = if self.repeat_penalty == 1. {
logits
} else {
let start_at = tokens.len().saturating_sub(self.repeat_last_n);
candle_transformers::utils::apply_repeat_penalty(
&logits,
self.repeat_penalty,
&tokens[start_at..],
)?
};
let next_token = self.logits_processor.sample(&logits)?;
tokens.push(next_token);
generated_tokens += 1;
if next_token == eos_token {
break;
}
let token = self.tokenizer.decode(&[next_token], true).map_err(E::msg)?;
print!("{token}");
std::io::stdout().flush()?;
}
let dt = start_gen.elapsed();
println!(
"
{generated_tokens} tokens generated ({:.2} token/s)",
generated_tokens as f64 / dt.as_secs_f64(),
);
Ok(())
}
}
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
struct Args {
/// Run on CPU rather than on GPU.
#[arg(long)]
cpu: bool,
/// Enable tracing (generates a trace-timestamp.json file).
#[arg(long)]
tracing: bool,
/// Display the token for the specified prompt.
#[arg(long)]
verbose_prompt: bool,
#[arg(long)]
prompt: String,
/// The temperature used to generate samples.
#[arg(long)]
temperature: Option,
/// Nucleus sampling probability cutoff.
#[arg(long)]
top_p: Option,
/// The seed to use when generating random samples.
#[arg(long, default_value_t = 299792458)]
seed: u64,
/// The length of the sample to generate (in tokens).
#[arg(long, short = 'n', default_value_t = 5000)]
sample_len: usize,
#[arg(long)]
model_id: Option,
#[arg(long)]
revision: Option,
#[arg(long)]
weight_file: Option,
#[arg(long)]
tokenizer: Option,
/// Penalty to be applied for repeating tokens, 1. means no penalty.
#[arg(long, default_value_t = 1.1)]
repeat_penalty: f32,
/// The context size to consider for the repeat penalty.
#[arg(long, default_value_t = 64)]
repeat_last_n: usize,
}
fn main() -> Result {
use tracing_chrome::ChromeLayerBuilder;
use tracing_subscriber::prelude::*;
let args = Args::parse();
let _guard = if args.tracing {
let (chrome_layer, guard) = ChromeLayerBuilder::new().build();
tracing_subscriber::registry().with(chrome_layer).init();
Some(guard)
} else {
None
};
println!(
"avx: {}, neon: {}, simd128: {}, f16c: {}",
candle::utils::with_avx(),
candle::utils::with_neon(),
candle::utils::with_simd128(),
candle::utils::with_f16c()
);
println!(
"temp: {:.2} repeat-penalty: {:.2} repeat-last-n: {}",
args.temperature.unwrap_or(0.),
args.repeat_penalty,
args.repeat_last_n
);
let start = std::time::Instant::now();
let api = Api::new()?;
let model_id = match args.model_id {
Some(model_id) => model_id.to_string(),
None => "THUDM/chatglm3-6b".to_string(),
};
let revision = match args.revision {
Some(rev) => rev.to_string(),
None => "main".to_string(),
};
let repo = api.repo(Repo::with_revision(model_id, RepoType::Model, revision));
let tokenizer_filename = match args.tokenizer {
Some(file) => std::path::PathBuf::from(file),
None => api
.model("lmz/candle-chatglm".to_string())
.get("chatglm-tokenizer.json")?,
};
let filenames = match args.weight_file {
Some(weight_file) => vec![std::path::PathBuf::from(weight_file)],
None => candle_examples::hub_load_safetensors(&repo, "model.safetensors.index.json")?,
};
println!("retrieved the files in {:?}", start.elapsed());
let tokenizer = Tokenizer::from_file(tokenizer_filename).map_err(E::msg)?;
let start = std::time::Instant::now();
let config = Config::glm3_6b();
let device = candle_examples::device(args.cpu)?;
let vb = unsafe { VarBuilder::from_mmaped_safetensors(&filenames, DType::F32, &device)? };
let model = Model::new(&config, vb)?;
println!("loaded the model in {:?}", start.elapsed());
let mut pipeline = TextGeneration::new(
model,
tokenizer,
args.seed,
args.temperature,
args.top_p,
args.repeat_penalty,
args.repeat_last_n,
args.verbose_prompt,
&device,
);
pipeline.run(&args.prompt, args.sample_len)?;
Ok(())
}
Te vale papi?
C# es grande por el tema de azure y microsoft que esta haciendose un ecosistema super simplificado con azure, windows, office365 y .net estan haciendo su ecosistema por eso esta creciendo pero personalmente es un lenguaje que me gusta pero sinceramente me da un poco de piqui usarlo como main por que conocemos microsoft... es lo mismo que oracle...
C# era grande mucho antes que existiera Azure
@@Turko77777 hoy en día si .net se quedará en lo que es open source y Microsoft no metiera apoyos en azure y en su ecosistema c# no sería lo que es el día de hoy sería más chico mucho
C# es Open-source
@@EduardoMarceloMoyano lo es pero quién lo lleva...
Simple, Python es un lenguaje intérprete, no compilado, por lo tanto es mas lento; mientras que C# o Rust es compilado.
Python es un “envoltorio” en ML, es CPP el que está detrás.
Rust como Carbon va a por CPP
Zig va a por C.
Fantástico comentario
se viene el salseo xD
Con C# se pueden hacer demasiadas cosas
Python???
Jajajaja se nota que nunca programaron en Rust ni en python, es como comparar un caballo contra un cohete espacial, Rust es el futuro.
Python 💕 ✅️ ✔️ 💕 ✅️
Bravoo?
Cobol !!!
El tío de midulive por poco hecha espuma por la boca al leer este índice 🤮🤣🤣🤣.. no se apasionen
Es un índice que despista mucho, ya que no representa tendencias como tal. En él explican los criterios que siguen para que así entendamos su sentido.
Team c#
uaoooooo llegue de primero!!!
Dojo
Python es maravilloso, pero el hecho de que sea maravilloso es la razón de por qué sea un lenguaje tan lento e hinchado. ¿Has visto la librería de PyTorch? Pues ese es un ejemplo de por qué quizá Python no vaya a tener un buen futuro.
Todavía me gusta más C#, Python no lo puedo ni ver, me da asco, siento rechazo, no me gusta un pelo, ajajjajajaja.