Cómo programo Java sin IDE (y cómo puedes hacerlo tú)

Поделиться
HTML-код
  • Опубликовано: 24 июл 2024
  • Con el Language Server Protocol se ha mejorado mucho la ergonomía a la hora de programar fuera del IDE convencional y voluminoso, hasta el punto de que hoy en día es posible utilizar un editor de textos ligero como Vim, Emacs o Neovim para trabajar en Java sin quemar gigas de memoria RAM, como ocurre con IDEA o con Eclipse.
    Para programar en Java, usaremos eclipse-jdt-ls:
    LSP: microsoft.github.io/language-...
    eclipse-jdt-ls: github.com/eclipse-jdtls/ecli...
    Para activar un LSP en Vim, uso los siguientes plugins:
    vim-lsp: github.com/prabirshrestha/vim...
    vim-lsp-settings: github.com/mattn/vim-lsp-sett...
    asyncomplete.vim: github.com/prabirshrestha/asy...
    asyncomplete-lsp.vim: github.com/prabirshrestha/asy...
    Mi config: git.danirod.es/dotfiles/vimrc...
    Para activar un LSP en Emacs, uso los siguientes plugins:
    lsp-mode: melpa.org/#/lsp-mode
    lsp-java: melpa.org/#/lsp-java
    lsp-ui: melpa.org/#/lsp-ui
    company: melpa.org/#/company
    Mi config: git.danirod.es/dotfiles/emacs...
    Para activar un LSP en Neovim, uso los siguientes plugins:
    nvim-lspconfig: github.com/neovim/nvim-lspconfig
    mason: github.com/williamboman/mason...
    mason-lspconfig: github.com/williamboman/mason...
    nvim-jdtls: github.com/mfussenegger/nvim-...
    nvim-cmp: github.com/hrsh7th/nvim-cmp
    cmp-nvim-lsp: github.com/hrsh7th/cmp-nvim-lsp
    luasnip: github.com/L3MON4D3/LuaSnip
    cmp-luasnip: github.com/saadparwaiz1/cmp_l...
    Mi config: git.danirod.es/dotfiles/nvim/...
    Capítulos
    0:00 Programar en Java, sin IDEs
    1:15 Language Server Protocol
    5:16 eclipse-jdt-ls
    7:27 Plugins para programar Java con Vim
    9:42 Plugins para programar Java con Emacs
    12:34 Plugins para programar Java con Neovim
    ▼ HOLA, ESTO ES MAKIGAS
    makigas es un canal de RUclips y una página web con tutoriales sobre distintos temas relacionados con la programación y el desarrollo de software. En el canal de RUclips y en este sitio web encontrarás material para aprender distintas tecnologías o lenguajes de programación a través de vídeos accesibles gratis y en castellano.
    ▼ ENLACES
    🔔 ¡Suscríbete ya! go.makigas.es/makigas
    ➕ Más tutoriales en: www.makigas.es
    ⭐ Programa de miembros: youtube.com/@makigas/join
    💬 Únete al Discord: discord.makigas.es
  • НаукаНаука

Комментарии • 98

  • @c3rberus27
    @c3rberus27 4 месяца назад +23

    Nuevamente me quito el sombrero ante tal elocuencia y simplicidad para explicar estos temas.
    Yo mayormente desarrollo en Angular, pero de ves en cuando toco código JAVA y comprender estos temas nos hacen conocer un poco mas el como funcionan las herramientas
    ¡Un saludo !

  • @sjar03
    @sjar03 4 месяца назад +9

    La verdad esta muy interesante, en su momento lo intenté pero lo dejé de lado por la gran curva de aprendizaje que representa, y la verdad en el mundo laboral solo buscan que des resultados, no el como, si haces alguna guía sobre como montar el entorno me animaría a darle otra oportunidad y así aprender a fondo como funcionan las cosas, buen video, eres un crack

  • @nonodev96
    @nonodev96 4 месяца назад +2

    Muy interesante, de haber sabido que existe un LSP habría buscado uno para mi TFG.
    Muy buen video.

  • @Alex-bb8zm
    @Alex-bb8zm 4 месяца назад

    Porfín entiendo el sistema de motores, servidores y autocompletados. Al configurar mi NeoVim sólo hice un copypaste de un vídeo random y ahora entiendo mucho mejor cómo es que funciona por dentro. Muchisimas gracias, súper bien explicado (hasta la parte de los snippets)

  • @simoncedeno1751
    @simoncedeno1751 4 месяца назад

    Enhorabuena! Los de la vieja escuela, amamos estos consejos. Te has lucido con un un gol desde la mitad del campo. Saludos.

    • @hba6018
      @hba6018 4 месяца назад

      No fue un gol, fue un Home Run

  • @pplot-dev
    @pplot-dev 4 месяца назад

    Interesante, gracias por haber compartido esta informacion🎉🎉

  • @soyjaider8996
    @soyjaider8996 4 месяца назад

    justo el video que necesitaba

  • @Rodri333
    @Rodri333 4 месяца назад

    Desenado que saques un video de DAP, me encanta como explicas!

  • @roberthangelirazabagarcia7192
    @roberthangelirazabagarcia7192 4 месяца назад +1

    El mejor canal de programacion sin duda alguna, que va a lo que es, Programación.
    muchas gracias Makigas, siempre se aprenden nuevas cosas muy útiles en cada uno de los videos que subes.

  • @tranquiloteov
    @tranquiloteov 4 месяца назад

    yo llevo programando en java, java fx y Spring desde hace 4 años con Vscode y no he tenido problemas. no he vuelto ni a eclipse ni a intellij. me encanta.

  • @TecnologySudamerican
    @TecnologySudamerican 4 месяца назад

    Buen video, que libro recomiendas para aprender a usar desde 0 java, tengo experiencia en js, y py, pero experiencia basica.

  • @richardariza5339
    @richardariza5339 4 месяца назад

    Como programador Nvim es lo mejor que me ha podido pasar, lo utilizo para programar en dart/flutter

  • @cristianmanuelabalosfernan6081
    @cristianmanuelabalosfernan6081 4 месяца назад

    Y como completas JSP en vim, no hay o no encuentro un LSP para ellos y jdtls no ofrece soporte

  • @Math77_latam
    @Math77_latam 4 месяца назад +9

    Has un tutorial de como montar ese entorno 🥺 porfaaa, es difícil encontrar videos en español sobre cómo hacerlo

    • @makigas
      @makigas  4 месяца назад +11

      Bancamos idea

    • @JimSimRoDev
      @JimSimRoDev 4 месяца назад

      Sii porfa tutorial

    • @Math77_latam
      @Math77_latam 4 месяца назад

      @@makigas Si bro porfa, llevo tiempo intentando montar mi entorno pero algunos suben incompleto los ítem que utilizan 😔

    • @cdcm
      @cdcm 4 месяца назад

      x2

    • @makigas
      @makigas  4 месяца назад +1

      Claro, yo tengo un vídeo donde hablo de los items que utilizan, ruclips.net/video/MIIPhu67KU0/видео.html
      Pero es una lista de plugins, probablemente no cuente exactamente cómo montar todo el entorno

  • @xxdrobbexx
    @xxdrobbexx 4 месяца назад

    Es muy interesante y le estaba agarrando el gustito, pero termine de dejarlo por un motivo tenia muchas configuraciones y empezaron a fallar por actualizaciones luego de buscar y corregir los problemas, al cabo de un mes volvieron a salir y para mi fue bastante molesto por eso lo termine dejando,

  • @emerson.dvlmt.g
    @emerson.dvlmt.g 4 месяца назад +1

    Hace como 3 meses migré a Neovim definitivamente, lo mejor que pude hacer

    • @aldobecerra464
      @aldobecerra464 4 месяца назад

      Que ganas usando Neovim a comparación de IntelliJ o eclipse ? Por puro gusto o hay una razón?

    • @emerson.dvlmt.g
      @emerson.dvlmt.g 4 месяца назад

      @@aldobecerra464 menos carga de recursos, al menos la mitad, comprensión de los procesos que hace el IDE, ahora sé cómo hacerlos "a pie" mayor fluidez a la hora de escribir código, en mi caso que estoy aprendiendo aún, me interesa aprender todo, más que me hagan la mayoría del trabajo interno, satisfacción del nerd interno de decir que sé cómo cerrar Vim, trabajo en la terminal, que prácticamente ahora no salgo de ahí más que para ir al navegador. Y porque me gusta y mucho

  • @MiguelTFD
    @MiguelTFD Месяц назад

    Hola maki, una pregunta, has notado que el code linter del propio lsp (eclipse-jdt-ls) no funciona en proyectos creados en maven usando la terminal, pero en proyectos creados en idea o archivos java sueltos si funciona el Linter, Buenas noches

    • @makigas
      @makigas  Месяц назад

      Raro, a mi si me tira. ¿Todo bien en el root_dir que le pasas al start_or_attach de jdtls?

  • @user-ft8nb8tc2n
    @user-ft8nb8tc2n 4 месяца назад

    En el caso de neovim, no es más sencillo usar coc?

  • @rodrigoch2291
    @rodrigoch2291 4 месяца назад +1

    Espero poder desarrollar en Spring Boot o Quarkus sin problemas al integrando LSP en NEOVIM

    • @nq-m4d339
      @nq-m4d339 4 месяца назад

      Se puede, es muuuuuy rápido y es hermoso

  • @libcodetech
    @libcodetech 3 месяца назад

    Buenisimo, ahora entiendo todo, gracias a un Skinhead programador pro jaja

  • @ferchris82
    @ferchris82 4 месяца назад

    Estoy empezando en el mundo de la programación y mi pregunta es que ventajas tiene programar en un editor de texto normal frente a un IDE ya bien desarrollado como VSC o Intellj?

    • @miguevr7852
      @miguevr7852 4 месяца назад

      Más que nada cuando se hace se suele hacer por comodidad y velocidad, VSCode por ejemplo pesa mucho menos que Visual Studio y va más rápido y es más personalizable y más o menos te permite hacer lo mismo, en cuanto a editores especiales (vi vim neovim eMacs) tienen combinaciones de teclas que te permiten moverte muy rápido y básicamente hacer lo que quieras

    • @williamchristopherrendonca3640
      @williamchristopherrendonca3640 4 месяца назад

      Emacs hace parecer a vscode como una tortuga que eso ya es un gran logro, tienes todos los lenguajes q ru disposición con un ide totalmente personalizado a tu gusto,,con cuentos de atajos de teclado que entre más los uses más se guardan en tu memoria muscular, llegas al punto de pensar en hacer algo y tus dedos hacerlo automáticamente, y en el caso concreto de Emacs es más potente que cualquier ide o editor de código prefabricado, es más como un mini sistema operativo con un editor de código

  • @guillermovasta7373
    @guillermovasta7373 4 месяца назад

    Qué terminal recomiendas? iterm2, kitty o alacritty? Saludos!

    • @makigas
      @makigas  4 месяца назад +1

      Pues en Mac ahora desde hace un tiempo ando usando iTerm2 porque me parece que se integra mejor en Mac. En el resto de sistemas operativos ando usando Alacritty.

    • @guillermovasta7373
      @guillermovasta7373 4 месяца назад

      @@makigas Gracias por responder :)

    • @gustavojoaquin_arch
      @gustavojoaquin_arch 4 месяца назад +1

      Kitty>>>>>>>>>alacritty

  • @rened.lacruzibarra5974
    @rened.lacruzibarra5974 4 месяца назад

    no funciona bien en neovin o similares cuando haces refactoring

  • @julianyesidcarrenogomez1514
    @julianyesidcarrenogomez1514 4 месяца назад

    como puedo programar en kotlin crear el apk

    • @makigas
      @makigas  4 месяца назад +1

      Hay un language server para Kotlin (no es jdtls, es otro que se puede instalar igualmente con Mason / lsp-mode / vim-lsp-settings) y si configuras la variable de entorno ANDROID_HOME para que apunte a la ruta del SDK de Android, si abres un proyecto de Android con un build.gradle / build.gradle.kt bien configurado (o sea, marcado como aplicación Android), te debería pillar las clases del SDK de Android. Puedes compilar, ejecutar y empaquetar usando Gradle.

    • @julianyesidcarrenogomez1514
      @julianyesidcarrenogomez1514 4 месяца назад

      @@makigas un video de como trabajar en kotlin en visual studio code utilizando lsp y si se puede utilizar kotlin kmp (multiplapfor) con lsp

  • @dioswilson3153
    @dioswilson3153 4 месяца назад

    Como usuario de neovim confirmo que intellij(con el vim plugin, ofc) es muy superior para java

  • @mandrildev
    @mandrildev 4 месяца назад

    Sos un crack

  • @cdcm
    @cdcm 4 месяца назад

    excelente, para mi intelij tiene mucha latencia

  • @florentinobajo
    @florentinobajo 4 месяца назад

    +1

  • @skatewordable
    @skatewordable 4 месяца назад

    por qué no te gustab los Snipets?

  • @fabianmolina15
    @fabianmolina15 4 месяца назад

    muchas gracias, tienes alguna config de java para neovim para copiarme jajaja

    • @makigas
      @makigas  4 месяца назад +2

      En la descripción enlacé la mía: git.danirod.es/dotfiles/nvim/src/commit/6fa288ad2f99439a0e933c1a35b3afe2e5f1ba58/plugin/lsp.lua
      En verdad lo único que tiene de javero esto es el jdtls de la línea 15, pero la configuración del LSP es global. Casi todo está copiado de otras configs y los readmes así que tampoco intento hacer nada muy diferente.

  • @urrxca
    @urrxca 4 месяца назад +1

    Pero si una empresa desarrolló un entorno de desarrollo queme ayuda hacerme la vida mas comoda, ser mas productivo, ahorrarme tiempo debugueando, escribiendo y analizando, para que me voy a complicar la vida? cual es el valor agregado?

    • @williamchristopherrendonca3640
      @williamchristopherrendonca3640 4 месяца назад

      No te complicas la vida, además de que el beneficio de Emacs crece de manera exponencial entre más lo uses, mientas que un ide convencional llega a un tope de lo eficiente que puedes ser

    • @williamchristopherrendonca3640
      @williamchristopherrendonca3640 4 месяца назад

      Además mencionar que Emacs lleva en desarrollo y mantenimiento desde el 85 por la mismísima FSF, intellij lleva apenas un par de años, está en pañales

  • @xeland314
    @xeland314 4 месяца назад

    Yo yendo a configurar de nuevo Neovim para ver si funciona mejor que coc-nvim 😅

  • @michel2409
    @michel2409 4 месяца назад +3

    Si vscode te ofrece todos los plugins para java , por qué usar vim, solo es por curiosidad.

    • @jd4rce
      @jd4rce 4 месяца назад +7

      Es un tema de gustos. A mí me aporta mucho por velocidad y comodidad además me desafía a entender como funcionan las cosas, sin eso, para mí el cómo funciona java seguiría siendo un misterio. Todo reducido a un botón de play verde en cualquier IDE

    • @makigas
      @makigas  4 месяца назад +6

      Coincido y añado: costumbre. Volverse pro en un editor aporta bastante. A alguien que ya es pro en VSCode no le diría que se pase a Vim si no es por capricho o recreación porque ya tiene el flujo trillado para el día a día, pero si es al revés ya tienes la costumbre de usar Vim para todo lo demás (como es el caso de bastantes personas, entre ellas yo), poder usar el mismo programa que se usa para todo también con Java sin tener que instalar una herramienta dedicada es un plus.

    • @LuisGuapo98
      @LuisGuapo98 4 месяца назад +1

      Mientras esperamos la respuesta de él, podemos suponer que porque Vim es más ligero, personalizable, o no pertenece a Microsoft.

    • @cdcm
      @cdcm 4 месяца назад

      saber los atajos de vim es magia negra

    • @gustavojoaquin_arch
      @gustavojoaquin_arch 4 месяца назад

      Porque es para programadores de verdad

  • @welkan1701
    @welkan1701 4 месяца назад

    Para todo hay tryhard's

  • @ctrentaytres
    @ctrentaytres 4 месяца назад +55

    ¿Por qué algunos programadores sois tan masoquistas?

    • @JonathanBytes
      @JonathanBytes 4 месяца назад +6

      El masoquismo es divertido 😊 😢

    • @rookiedev881
      @rookiedev881 4 месяца назад +11

      Eso lo dices xq no has entendido las ventajas que te da usas vim

    • @HighOctaneNews570
      @HighOctaneNews570 4 месяца назад +5

      @@rookiedev881 y que ventajas te da vin sobre un ide como intellij? Y no me salgas que puedes hacer todo con el teclado por que eso lo puede hacer intellij, además de que esa obsesión por la productividad está sobrevalorada

    • @rookiedev881
      @rookiedev881 4 месяца назад +10

      @@HighOctaneNews570 no sé trata solo de productividad, si no de comodidad, versatilidad, personalización de tu entorno de trabajo, programar en cualquier lenguaje y solo con abrir una terminal, ni entorno gráfico necesitas.

    • @heribertosanchez9533
      @heribertosanchez9533 4 месяца назад +8

      @@HighOctaneNews570 de hecho puedes convertir Vim en un IDE completo del lenguaje que tu quieras, uso vscode en el trabajo y Neovim en proyectos personales y la verdad no hay diferencias cuando agregas todos los plugins que más necesitas y los necesarios para dejarlo completo, no notas la diferencia y es más ligero el Neovim, pero vivir con los ojos vendados es respetable 🤷🏻‍♂️🤷🏻‍♂️

  • @CodeCristo
    @CodeCristo 3 дня назад

    neovim es el mas facil

  • @brayanhernandezmora8619
    @brayanhernandezmora8619 4 месяца назад

    Prefiero intellij

  • @user-rf8uc6jk7g
    @user-rf8uc6jk7g 4 месяца назад

    Enserio con los sueldos que ganamos les cuesta comprar un modulo con más gigas de ram y ya

    • @williamchristopherrendonca3640
      @williamchristopherrendonca3640 4 месяца назад

      Objetivamente editores como Vim o emacs tienen más trabajo detras que cualquier ide, el beneficio de su uso es exponencial y crece con el tiempo a diferencia de ide más modernos como intellij que tienen un tope en el beneficio que te pueden ofrecer

  • @josbexerra8115
    @josbexerra8115 4 месяца назад +1

    Sinceramente no hay como IntelliJ IDEA, para programar en Java, deja de recomendar editores prehistoricos de la epoca de picapiedra....

    • @agatemosu
      @agatemosu 4 месяца назад

      ruclips.net/video/fUKAtZPPc7I/видео.html

    • @williamchristopherrendonca3640
      @williamchristopherrendonca3640 4 месяца назад +1

      Emacs es más potente, rápido y mejor que cualquier ide actual, no puedes comparar un ide que lleva en desarrollo desde el 85 con un ide que apenas está en pañales