¿RUST y C# son el futuro? ¿Y Python?

Поділитися
Вставка
  • Опубліковано 22 гру 2024

КОМЕНТАРІ • 84

  • @janitosoker
    @janitosoker 11 місяців тому +8

    Genial estos videos de actualización de noticias, gracias por tanto contenido!

  • @matiturock
    @matiturock 10 місяців тому +16

    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#.

    • @hispano77e
      @hispano77e 4 місяці тому

      @@matiturock no lo sabía. Entonces si le daré una oportunidad a godot

  • @rockie7chan
    @rockie7chan 11 місяців тому +3

    y zig? y vala? y crystal? y carbon?

  • @enriqueruiz320
    @enriqueruiz320 11 місяців тому +8

    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 😁

    • @michiSandia7w7
      @michiSandia7w7 11 місяців тому +1

      Me representas a mi me sacas de C# y es como volver a nacer 😂

  • @JuanGabrielOyolaCardona
    @JuanGabrielOyolaCardona 26 днів тому

    Gracias por compartir 😀👍 saludos desde Colombia.

  • @antoniomartinez1799
    @antoniomartinez1799 2 місяці тому

    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

  • @arclchmp6225
    @arclchmp6225 11 місяців тому +1

    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).

  • @ateban69
    @ateban69 11 місяців тому +6

    Esperamos el curso de Cobol 🫠

  • @alejandromurillo1205
    @alejandromurillo1205 11 місяців тому +10

    y yo justo aprendiendo los dos :O xDd

  • @osopolar5629
    @osopolar5629 11 місяців тому

    donde puedo encontrar el curso de github actions??

    • @mouredevtv
      @mouredevtv  11 місяців тому

      Para la semana lo subiré.

  • @ursulamaldonado1957
    @ursulamaldonado1957 2 місяці тому

    Che Moure !
    El Coböl podría ir en un lenguaje un dia?

  • @joseefraincarranza4195
    @joseefraincarranza4195 8 місяців тому

    y saben algo de Forté???? ayuda con historia y como podria migrarme de forté a ALGO, por Dios

  • @nicolasaparicio23
    @nicolasaparicio23 11 місяців тому +2

    Esperamos tu curso de Cobol!

  • @luisandraschnik3001
    @luisandraschnik3001 11 місяців тому +4

    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.

    • @moq22
      @moq22 10 місяців тому +1

      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.

  • @horimiyarawstyle
    @horimiyarawstyle 3 місяці тому

    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

  • @brandongomez9389
    @brandongomez9389 11 місяців тому +8

    Se viene curso de COBOL

  • @hispano77e
    @hispano77e 11 місяців тому +9

    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.

    • @marcovidal2810
      @marcovidal2810 4 місяці тому

      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

    • @Catgame345-EACV14
      @Catgame345-EACV14 2 місяці тому +2

      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.

    • @hispano77e
      @hispano77e 2 місяці тому +1

      @@Catgame345-EACV14 opino igual
      Además Python para microcontroladores o similar es simplemente inutilizable

    • @Catgame345-EACV14
      @Catgame345-EACV14 2 місяці тому +1

      @@hispano77e Muy cierto.

  • @Cyber_Byte66
    @Cyber_Byte66 11 місяців тому +8

    Y yo aprendiendo Go para ser backend 😞🥲

    • @enriqueruiz320
      @enriqueruiz320 11 місяців тому +3

      No te tomes en serio este índice, tu sigue

    • @UnDarkVader
      @UnDarkVader 11 місяців тому

      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.

    • @Cyber_Byte66
      @Cyber_Byte66 11 місяців тому +1

      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.

    • @Cyber_Byte66
      @Cyber_Byte66 11 місяців тому

      @@UnDarkVader Veré algún tutorial o curso, para aprender rust!!!

    • @Cyber_Byte66
      @Cyber_Byte66 11 місяців тому

      @@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!!!

  • @PedroJuuuu
    @PedroJuuuu 11 місяців тому

    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!

  • @mictellogarit7473
    @mictellogarit7473 11 місяців тому +4

    GO está quedando olvidado por Google 😞

    • @vvalero44
      @vvalero44 11 місяців тому +1

      Un clásico de Google

    • @wil-fri
      @wil-fri 11 місяців тому

      Y dart dominando

  • @_GLStudio
    @_GLStudio 11 місяців тому +2

    Feliz q el primer lenguaje que aprendí fue c# (gracias unity)

  • @NostalgicW0W
    @NostalgicW0W 11 місяців тому +4

    Aguante Lua 😅

  • @alexis-pz2ro
    @alexis-pz2ro 11 місяців тому +2

    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

    • @Turko77777
      @Turko77777 5 місяців тому +1

      No es así, es como decir que en la Formula 1 no importa el automóvil, solo importa el trazado que realizado.

    • @Bedfford
      @Bedfford 2 місяці тому

      @@Turko77777 si no sabes algorítmos ni matemáticas, como resuelves un problema, le preguntas al chatgpt?

  • @Leandrys_
    @Leandrys_ 11 місяців тому +5

    Cobol, JS y SQL nos van a enterrar a todos, acuerdense de esto y diganselo a sus nietos xD

    • @sombra4990
      @sombra4990 11 місяців тому

      Porque SQL?

    • @Leandrys_
      @Leandrys_ 11 місяців тому

      @@sombra4990 porque no tendrá reemplazo

    • @UnDarkVader
      @UnDarkVader 11 місяців тому

      ​​@@sombra4990Porque ya tiene sus años y aún sigue vigente por los motores de BD relacionales.

    • @ultraninja2006
      @ultraninja2006 10 днів тому

      @@sombra4990 se necesita si o si !!!

  • @AlexanderRodriguez-cursos
    @AlexanderRodriguez-cursos 11 місяців тому +2

    Si comienza a programar su granja servidor (DOJO) con Rust, entonces le creo.

    • @UnDarkVader
      @UnDarkVader 11 місяців тому

      Para eso está Actix Web en Rust... No hay lio.

  • @hugoandres5480
    @hugoandres5480 7 місяців тому

    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.

    • @HHologram
      @HHologram 4 місяці тому

      C++ tiene ya 50000 mil años, déjalo morir en paz. Musk es programador, tú trabajas para comer, él no.

    • @topara2009
      @topara2009 18 днів тому

      We, si programas como escribes......

  • @yovanitorres2881
    @yovanitorres2881 7 місяців тому +12

    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

    • @DavidDanre
      @DavidDanre 7 місяців тому

      😮

    • @pepito7773
      @pepito7773 7 місяців тому

      😮

    • @dangerosa01
      @dangerosa01 2 місяці тому +3

      a ver mostrame las redes neuronales que has programado

    • @yovaniTube
      @yovaniTube 2 місяці тому

      #[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(())
      }

    • @yovaniTube
      @yovaniTube 2 місяці тому

      Te vale papi?

  • @yonaasael3945
    @yonaasael3945 8 місяців тому +1

    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
      @Turko77777 5 місяців тому

      C# era grande mucho antes que existiera Azure

    • @yonaasael3945
      @yonaasael3945 5 місяців тому

      @@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

    • @EduardoMarceloMoyano
      @EduardoMarceloMoyano Місяць тому

      C# es Open-source

    • @yonaasael3945
      @yonaasael3945 Місяць тому

      @@EduardoMarceloMoyano lo es pero quién lo lleva...

  • @Ejrr1085
    @Ejrr1085 2 місяці тому

    Simple, Python es un lenguaje intérprete, no compilado, por lo tanto es mas lento; mientras que C# o Rust es compilado.

  • @Luix
    @Luix 11 місяців тому +5

    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.

    • @moq22
      @moq22 10 місяців тому

      Fantástico comentario

  • @NiuCrazy
    @NiuCrazy 11 місяців тому

    se viene el salseo xD

  • @miguelolarte1889
    @miguelolarte1889 9 місяців тому

    Con C# se pueden hacer demasiadas cosas

  • @RemyTicona
    @RemyTicona Місяць тому

    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.

  • @franzg.trujillanoch.8912
    @franzg.trujillanoch.8912 10 місяців тому +2

    Python 💕 ✅️ ✔️ 💕 ✅️

  • @Alitauwu
    @Alitauwu 11 місяців тому

    Bravoo?

  • @mauricioferreyra4378
    @mauricioferreyra4378 11 місяців тому +2

    Cobol !!!

  • @enriqueruiz320
    @enriqueruiz320 11 місяців тому

    El tío de midulive por poco hecha espuma por la boca al leer este índice 🤮🤣🤣🤣.. no se apasionen

    • @mouredevtv
      @mouredevtv  11 місяців тому +2

      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.

  • @TheErudito
    @TheErudito 11 місяців тому +3

    Team c#

  • @tatacho520
    @tatacho520 11 місяців тому +1

    uaoooooo llegue de primero!!!

  • @luzclarke6333
    @luzclarke6333 11 місяців тому

    Dojo

  • @sergiohzph-yt
    @sergiohzph-yt 2 місяці тому

    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.

  • @Metaconta
    @Metaconta 4 місяці тому

    Todavía me gusta más C#, Python no lo puedo ni ver, me da asco, siento rechazo, no me gusta un pelo, ajajjajajaja.