JavaScript ou Python?
Qual escolher para se dedicar nos estudos, e focar por um tempo...? Ou as duas seriam interessante?
Qual escolher para se dedicar nos estudos, e focar por um tempo...? Ou as duas seriam interessante?
Eu conheço as duas linguagens e me dou muito bem com elas. Depois de aprender as duas do básico ao avançado eu digo que o melhor a se fazer e se dedicar é aprender C.
Por que C?
Python e Javascript tem uma construção muito próxima ao C, inclusive no Python isso é muito visível com bibliotecas feitas em C que são utilizadas pela linguagem (strftime é um exemplo). Com a minha experiência eu digo que aprendi muito de Javascript e Python com C que jamais conseguiria estudando as duas. O ponto é simples, aprenda a base e então não terá dificuldades com o restante.
Se você está apenas aprendendo não há porque se preocupar com mercado agora, pois o mais importante é aprender os fundamentos da programação para só depois pensar em alguma área. Mas Python e Javascript tem mercados completamente diferentes e são usadas de forma diferente. Python tem toda uma filosofia por trás e é uma linguagem bastante opinativa em algumas questões e flexível em outras. Normalmente começar aprendendo com linguagens de mais baixo nível da uma base muito maior do que com as de alto nível, mas isso também não é regra, apenas uma correlação.
gabrielTapes, Valeu, gostei da sua correlação, isso explica e ajuda muito pra mim. Gostei! E faz todo o sentido... O que você falou aí, isso que você fala é Ciência da Computação, C é a base... Vi um curso gratuito de Havard, está legendado. Vou deixar o LINK aqui - CC50 - O CURSO DE CIÊNCIA DA COMPUTAÇÃO DE HARVARD, NO BRASIL e as linguagens do curso, está incluido: C, Python, SQL e JavaScript, além de CSS e HTML. Valeu cara!
Como eu sempre falo, quando se pergunta isso para pessoas aleatórias na internet praticamente só receberá indicações do gosto delas, que não te ajuda em nada.
Também costumo dizer que só você sabe. E se não sabe, nós menos ainda. Não te conhecemos, não sabemos dos seus objetivos, nada. Não temos como dar uma informação relevante.
Muitos vão tentar falar outras linguagens. Que podem ser melhores para seu objetivo, quem novamente, não sabemos.
"Interessante" é altamente subjetivo, não sabemos que critérios são os seus que classificam algo como interessante.
Em alguns casos pode ser as duas, mas não em todos. Novamente, para dizer algo sobre isso precisaríamos de mais informações suas. Também não pode ser nenhuma. Pode começar com ambas e depois decidir por uma ou outra.
Você tem que criar um processo decisório, pesquisar muito, achar o seu caminho, que é parte da graça. E nesse processo você encontrará dúvidas mais específicas sobre as linguagens ou sobre o processo que podem ser respondidas com mais objetividade e entregar melhor resultado para sua busca.
Não use critérios simplórios, porque a decisão será errada. Se comprometa com o processo. Ele será útil em tudo depois. Transforme isso em algo positivo. Se não apreciar isso, talvez não goste e esteja se forçando.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
maniero, Cara, muito obrigado! Isso vai me ajudar a pensar... Mas gostei da sua resposta, interessante... Valeu!
Javascript, expansiva, FrontEnd e BackEnd, multi-propósito, Python tem outra pegada e muita gambiarra, por ser de uso geral. Machine learning e data Science... Python, de resto Javascript... ✌😎
CodeBabel, Cara, muito obrigado! Deu pra pegar e análisar... Show!
intrigante, também quero saber kkk
Neste caso, vou ter que dar a nossa famosa "resposta de sênior": depende (kkkk). Eu acho que tudo vai depender de qual área da programação você deseja seguir. A programação é uma área muita ampla e com diversas especializações. Como por exemplo:
Enfim, várias áreas que nem conseguiria citar todas, são só alguns exemplos. Então tudo vai depender de qual área e funcionalidade você deseja.
Porque sendo sincero, cada linguagem tem um objetivo específico. Você consegue desenvolver para Web com Python? Sim, mas nunca será tão bom quanto Javascript. Você consegue desenvolver para I.A. com Javascript? Sim também, mas nunca será tão bom quanto Python, e assim sucessivamente.
Então, creio que vai depender qual área você deseja seguir e com qual finalidade. Se você tem maior interesse em programação para web, vai de Javascript 100% que você não vai se arrepender. Se você deseja algo como programar para I.A., Machine Learning, Análise de dados e aplicações desktop, vai de Python.
lucaslourenco, Obrigado pela resposta, gostei muito também! Cara, você me deu um norte muito grande, nas escolhas, na forma de pensar sobre cada linguagem... De que forma agir sobre cada uma delas, e seu objetivo... Valeu!
TYPESCRIPT
TypeScript so vai atrapalhar no início, não recomendo. Apenas quando você já tiver uma certa familiaridade no JavaScript.
Entendi, Valeu marcuth
Comecei com JavaScript para navegador e só depois de um certo tempo eu usei ele como backend (NodeJS)... Aprendi Python também, foi para fazer Web Scraping em um site, mas hoje eu acabo usando as duas para as coisas que construo, para API eu uso mais o JavaScript e para lidar com dados e Web Scraping costumo usar o Python. Bom, eu acredito que as duas compensam, te abre mais possibilidades de ferramentas.
Poderia usar javascript par web scrapping, o que tem feito é justamente escrever a mesma coisa em em duas folhas de papel idênticas, onde o que muda é a cor, nada mais, Python é muito eficiente em data Science e machine learning, Javascript também atende, então... ou é bom nas duas ou fera em uma delas, escolhas... pode ser o que quiser, o importante é não parar...
Ao decidir entre JavaScript e Python para se dedicar nos estudos, é importante considerar suas metas e interesses específicos. Ambas as linguagens têm suas vantagens e aplicações distintas.
JavaScript é amplamente utilizado para o desenvolvimento web e oferece suporte a interações dinâmicas e funcionamento do lado do cliente. É a principal linguagem para programação front-end e é usada para criar elementos interativos em sites e aplicativos web.
Por outro lado, Python é conhecido por sua legibilidade e simplicidade. É uma linguagem versátil, usada em diversos domínios, como desenvolvimento web, ciência de dados, automação de tarefas e inteligência artificial. Python possui uma vasta biblioteca de módulos e frameworks que facilitam o desenvolvimento em várias áreas.
Para decidir qual linguagem escolher, leve em consideração seus objetivos de estudo e as áreas em que você deseja se especializar. Se o seu foco está no desenvolvimento front-end e em criar interatividade em sites e aplicativos, JavaScript é uma escolha sólida. Por outro lado, se você está interessado em ciência de dados, automação, inteligência artificial ou desenvolvimento web em geral, Python pode ser a opção mais adequada. Para informações adicionais, você pode verificar este blog https://sloboda-studio.com/backend-development/
A pergunta não é: "qual linguagem?", mas sim "qual objetivo?".
Você quer estudar front? Então não pode ser Python.
Você quer estudar dados? Então não pode ser JS.
Você quer estudar back? Então pode ser qualquer uma das duas. Mas, você que aplicar para uma empresa específica? Qual linguagem ela foca?
Entende? Se você tiver essas perguntas claras na sua cabeça, fica mais fácil entender "qual linguagem".
Ótima resposta, a maioria das pessoas respondem esse tipo de pergunta com o gosto pessoal e podem até fazer o novato se afastar de uma linguagem que ele poderia se dar muito bem.
Javascript, expansiva, FrontEnd e BackEnd, multi-propósito, Python tem outra pegada e muita gambiarra, por ser de uso geral. Machine learning e data Science... Python, de resto Javascript... ✌😎
Eu escolhi python e não me arrependo, mas tive que começar com frameworks em Java tipo Next.JS para trabalhar com API RESTs, o python é muito bom como banco de dados também, no caso o pessoal usa bastante django, django é um framework baseado em python que sinceridade?
Não há igual, é descomunal aquilo, é o melhor gerenciador de banco de dados / framework que eu já conheci, o LOC é bem menor do que java, enquanto em java você usa 30mil no python você usa 4 mil 3 mil linhas (Fiz isso por que o mercado pede muito, por que tem muita gente, mas HTMX faz o mesmo serviço e até melhor que React, manutenção facil e rápido).
from django.contrib.auth.models import AbstractUser
from django.utils.text import slugify
from django.db import models
from apps.core.utils.manager import image_path
class Account(AbstractUser):
email = models.CharField(max_length=255, unique=True, blank=False, null=False)
avatar = models.ImageField(upload_to=image_path, default="default.png")
first_name = models.CharField(max_length=255, verbose_name="Nome")
last_name = models.CharField(max_length=255, verbose_name="Sobrenome")
birth = models.DateField(verbose_name="Nascimento", blank=True, null=True)
phone = models.CharField(max_length=255, verbose_name="Celular", blank=True, null=True)
address_name = models.CharField(max_length=255, verbose_name="Endereço", blank=True, null=True)
address_number = models.CharField(max_length=255, verbose_name="Número", blank=True, null=True)
city = models.CharField(max_length=255, verbose_name="Cidade", blank=True, null=True)
state = models.CharField(max_length=255, verbose_name="Estado", blank=True, null=True)
country = models.CharField(max_length=255, verbose_name="País", blank=True, null=True)
slug = models.SlugField(max_length=255, blank=True, null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username', 'first_name', 'last_name']
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.username)
return super().save(*args, **kwargs)
def __str__(self):
return self.email
Um exemplo de uma view de usuários feita em django, simples e rápido, quando você faz a migração para o banco de dados, interessante usar Postgres. Você consegue gerenciar isso apenas entrando na aba /admin com seu superusuário.
Utilizando o chatgpt para fazer a tradução, em JavaSpring ficaria assim, e o gerenciamento dos dados você faria a parte.
import javax.persistence.*;
import org.springframework.util.StringUtils;
@Entity
@Table(name = "account")
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String email;
@Column(nullable = false)
private String password;
@Column(nullable = false, length = 255)
private String avatar;
@Column(name = "first_name", nullable = false, length = 255)
private String firstName;
@Column(name = "last_name", nullable = false, length = 255)
private String lastName;
@Column
private LocalDate birth;
@Column(length = 255)
private String phone;
@Column(name = "address_name", length = 255)
private String addressName;
@Column(name = "address_number", length = 255)
private String addressNumber;
@Column(length = 255)
private String city;
@Column(length = 255)
private String state;
@Column(length = 255)
private String country;
@Column(length = 255)
private String slug;
// Constructors, getters, and setters
// You may also need to define relationships with other entities if required.
public void save() {
if (StringUtils.isEmpty(slug)) {
slug = StringUtils.slugify(username);
}
// Save the account object to the database using Spring Data JPA or any other ORM.
}
// You can define additional methods or annotations as per your requirements.
@Override
public String toString() {
return email;
}
}
Ele perguntou sobre JavaScript, mas vc deu um exemplo em Java...
Perdão, tai, sabendo que isso é só o modelo para salvar os dados, fora o gerênciamento do banco de dados e mais linhas de códigos pra registrar, mais pra demonstrar, criar uma area administrativa.
const slugify = require('slugify');
class Account {
constructor(email, avatar, first_name, last_name, birth, phone, address_name, address_number, city, state, country) {
this.email = email;
this.avatar = avatar || 'default.png';
this.first_name = first_name;
this.last_name = last_name;
this.birth = birth || null;
this.phone = phone || null;
this.address_name = address_name || null;
this.address_number = address_number || null;
this.city = city || null;
this.state = state || null;
this.country = country || null;
this.slug = null;
}
save() {
if (!this.slug) {
this.slug = slugify(this.username);
}
// Aqui você pode escrever o código para salvar os dados do usuário no backend.
}
toString() {
return this.email;
}
}
igribeiro, interessante, gostei! Nesse código, você me deu uma ideia de perguntar outra dúvida, vou colocar agora aqui no TabNews e veremos qual análise, os cara vai fazer... Isso vai ser bom pra mim, porque preciso escolher uma área depois que eu começar a ter um desenvolvimento melhor na programação, depois de um tempo... Vou precisar de uma área pra focar... Valeu!
kamikaze142857, Obrigado pela observação cara, Valeu!