Si tuviera que crear un sitio web como YouTube o Google+ que pueda alojar y transmitir videos, ¿qué lenguaje de programación puedo usar y cuál es el más efectivo? Tengo experiencia previa en Java, ¿será útil?

Deberá escribir código en el lado del servidor (código que será interpretado por el servidor que aloja su sitio / aplicación), así como en el lado del cliente (código que se interpretará directamente en el navegador del usuario).

En el lado del servidor, puede elegir el idioma que desee, ya que eso depende de la configuración del servidor. Puede hacer que sea compatible con cualquier elección de servidor, idiomas, bases de datos, etc. (siempre que sea el propietario del servidor y pueda configurarlo a su gusto).

Sin embargo, solo hay una opción en el lado del cliente: Javascript.
Este es el único idioma admitido actualmente por todos los navegadores, por lo que, te guste o no, DEBES escribir javascript.
O bien, puede usar otros lenguajes que se compilan en JavaScript, como Coffeescript, Typecript, Dart, etc.
Tenga en cuenta que, con la excepción de Dart (que es el único que tiene su propia máquina virtual, solo compatible con Google Chrome), todos estos idiomas se compilan (convierten) a javascript, por lo que el resultado final es el mismo que escribir sin formato JavaScript desde cero.

Hoy en día, el lado del cliente es cada vez más relevante que hace años.
Hoy en día, puede escribir aplicaciones complejas completas con javascript, que solo recurre al lado del servidor para extraer información de bases de datos u otras tareas dedicadas. Esto tiene la ventaja de hacer que las aplicaciones sean más rápidas, más como las aplicaciones de escritorio tradicionales, ya que al interpretar el código directamente dentro del navegador, evita tener que enviar solicitudes a través del cable y esperar sus respuestas.

Puede comenzar a construir dicho sitio en el lenguaje de programación que conoce muy bien. Como dijiste que estás familiarizado con JAVA, comienza con eso. No hay obstáculos que enfrente comenzando con el lenguaje de programación en el que se sienta cómodo para construir un sitio. Como muchas de las grandes plataformas usan JAVA como tecnología de back-end y php como front-end. Y muchas plataformas se basan en Python, como muchas herramientas de Google Build en Python, pero no hay una idea clara de cuál es la tecnología central detrás de Google, por lo que solo puedo decir que comience a construir en su zona cómoda y si comienza a enfrentar problemas en el futuro, usted puede migrar a cualquier gran lenguaje de programación de esa época.

Desde el principio hasta el final

  • Necesita un lenguaje como C (nivel bajo) para crear el sistema operativo para la base de datos y el servidor que almacenará y transmitirá sus videos.
  • Necesita un lenguaje como Java o C ++ para escribir y leer datos de esa base de datos y transmitirlos
  • Necesita un lenguaje como SQL (o un lenguaje de base de datos) para buscar y encontrar el video para transmitir
  • Necesita un lenguaje como PHP para comunicarse entre el servidor y el usuario (si el usuario quiere ver un video de un lindo perro, PHP transferirá ‘lindo perro’ a SQL que luego buscará el video)
  • Un lenguaje como JavaScript obtendría la información de video que el usuario desea ver y la pasaría al código PHP. JavaScript podría ser un oyente para un campo de texto descrito en la próxima viñeta.
  • Se usaría HTML / CSS para crear la interfaz / sitio web que el usuario ve e interactúa con él. El HTML / CSS se usaría para obtener el video que el usuario desea ver y proporcionar una pantalla para reproducir ese video.

Entonces, sí, su experiencia en Java lo ayudará a comprender los conceptos necesarios para diseñar esta base de datos.