Okay.
So we are going to use this, uh, way of dividing the screen like in a other sessions in order to continue
with this practice.
So in this presentation, we are going to learn only what you need to know about Python and JavaScript
in order to develop LM applications.
As you know, Python and JavaScript are, uh, two very big languages and you can find books and books
about Python and also about JavaScript and sometimes rookies, as I did when I was a rookie.
We waste so much time trying to learn and understand everything about Python and everything about JavaScript
before starting to, uh, program.
And this is a mistake as every rookie has learned, uh, you only need a small piece of a programming
language in order to develop a particular kind of applications.
And this is exactly what happens with LM applications.
So the purpose of this lesson is to save you a lot of time and to tell you only what matters, only
the things that you will need to understand in Python and JavaScript.
And I say understand, not memorize.
Because as you know, today, programming is not about memory.
It's about understanding what you need to do and understanding where to look for a solutions.
Whenever you have a doubt or a question and remember who is your best friend when you are programming,
always have ChatGPT for open in order to help you.
This is your personal assistant when you are programming.
So we are going to use two notebooks and that you will have attached.
And in these two notebooks we are going to do exactly the same in Python and in JavaScript.
So Python, as you know, is the most common programming language in artificial intelligence traditionally.
So Long chain was written initially in Python and Llama index and, you know, ChatGPT exact, etc.
so Python has always been the programming language for artificial intelligence, uh, engineers and
also machine learning, deep learning, etc., etc..
So this is very important to know because most of the artificial intelligence frameworks we are going
to be working with are written in Python.
So this is important.
Second important thing we can use Python for server side application development.
This is not the only option we have, but it's going to be very frequent at least right now.
So for example, when we look at fast API, which is one of the frameworks we are going to to, to look
in the in the next sections, in this case is a server side framework.
We we will see that this is a Python framework.
So there are other server side frameworks.
But it is very common in artificial intelligence applications to see Python a frameworks in the server
side of the applications.
Okay.
So Python is is going to be very important for us.
So it's very good that you are familiar and you are comfortable with Python, especially with the areas
of Python we are going to cover in this presentation.
JavaScript on the other hand, is a language that is the most common language used for web applications.
So in the web era, especially in the second stage of the web era, JavaScript has been the king, mostly
in front end, but also in back end with frameworks like Node.js.
So JavaScript has been extremely important in the application development world because as you know,
application development means web application development in the last 30 years.
So JavaScript is very, very important.
And remember that when we are talking about LM application development, we are going to develop web
applications as well.
So JavaScript is going to be important for us.
Mostly it's going to be important for us in the front end development.
But in some cases it can also be important in the back end development.
But for us, we are going to see JavaScript when we see a React Next.js.
And also Vercel.
So JavaScript is important for us.
What is going to happen in the future?
Today a I have already told you that JavaScript is going to to be more and more common into the, uh,
artificial intelligence community.
Um, because previously the artificial intelligence community, they didn't develop web applications
the same way they are doing today.
So today we artificial intelligence engineers are using JavaScript on a daily basis.
And apart from that, a lot of the traditional web applications developers that are used to work with
JavaScript are being interested in using LM applications as well.
And that's the reason why LM app development frameworks like Lang Smith and uh, Llama Index, they
are preparing to welcome these all JavaScript developers.
And that's why you see today that Lang Smith, for example, is written in Python but has a JavaScript
version and the same thing with llama index.
So what is going to happen in the future?
In my opinion, we are going to see more and more use of JavaScript in the LM app development framework
world.
But that's just a guess.
I think Python is going to be important.
It's going to to to remain very important.
But I think the importance of JavaScript is going to increase.
Let's see what happens in the future because no one knows uh, right now.
So let's talk about some things that are similar and things that are different in Python and JavaScript
and most of it things that are important for us as an.
LM application developers.
So let's talk initially about syntax.
So as you see in this, uh, in this notebook in the right side of the screen, you have a, the things
applied to Python.
And here you have the same things applied to JavaScript.
Okay.
So initially we start talking about the syntax a things to highlight about the syntax in Python and
in JavaScript.
Very simple.
In Python, as you already know, we don't use semicolon at the end of the lines.
In JavaScript, we do.
So whenever you write something like this, for example, and you want to start a new line, you need
to enter semicolon.
In Python is very important to use indentation properly.
So if you go to the Python uh, file here, you will see that indentation is very important.
And this is something sometimes, um, problematic in the Python world because usually indentation is,
you know, like the pure Python developers, they use four spaces instead of the tab key.
You know, most of us we use the tab key.
But sometimes the the tab key is problematic.
So if you some is very rare.
But if you find a problem with indentation, a thing that maybe your code editor is not using the tab
key in a proper way, usually it doesn't happen.
I use the tab key every every time, but uh, just be aware of it.
The purest Python developers they use for spaces instead of a tab.
Okay, so indentation is important in Python.
In JavaScript it doesn't matter.
And another interesting thing about the syntax is that in Python we don't need to declare variables.
So we we can say x equal four.
And that's it.
Python understands that x is of type integer.
In some cases we want to declare variables.
And we can we can say y equals string four.
And now instead of being an integer Python understands that the variable y is of type string.
In JavaScript.
A you will see that a the variables used to be declared.
A traditionally we use the keyword var.
Now the new keyword is let.
So var is just the old way.
Now everybody uses let, but in some cases you will see that you need to declare variables anymore in
JavaScript.
So you will see that the new versions of JavaScript are more and more similar to Python.
One interesting thing here that we are highlighting here in this notebook about JavaScript.
Is that a JavaScript is a is a web language as as you remember notebooks.
This, this these are notebooks.
The notebooks are used initially, you know, designed to work for Python.
And we are using a trick here.
What this line is doing is telling the notebook that we are going to write JavaScript following this
line.
So we can write a JavaScript in the notebooks is not their usual way.
A use the usual place.
Usually you will find a JavaScript, as we will say, you know a later in console, you know browser,
console or code editors, whatever.
But here we are using a small trick.
You know, we cannot use the print a or the console log a keyword, but if we use Window.alert and we
execute this cell, you will see that we have a window alert.
We are printing this message here in the window alert okay.
So just just for you to understand the way we are using these notebooks okay.
So this is what we say here a about Python execution.
So just to remind you that these notebooks are absolutely used to work with Python.
So this is going to work every time you remember what you have to do is you, you go to the cell, you
use shift and enter and you are going to execute this cell.
Okay.
A we are mostly going to use notebooks in many parts of this, uh, program, but in some other parts
you will see us using code editors.
Uh, in the case of JavaScript, we can use, uh, the notebook with this, with this trick, a but
usually we will we will use a code editors or, uh, browsers the console in the browser if you are
familiar, for example, with the Chrome browser, you know how you can, uh, open the developer,
you know, uh, part of the of the Chrome browser, etc., etc..
Right?
So this is where usually the front end developers work.
It is important to highlight also a couple of things regarding notebooks and Python and JavaScript.
What you say here in this cell remains here.
So if I want to print x in this cell, this notebook remembers that x is equal to four.
But in the case of this other notebook that is not so, uh, clear.
So if I open a cell with this expression JavaScript and I say x is equal to four, and here I ask about
x is very probable that this cell do not know anything about this solar cell.
So don't trust a JavaScript.
The memory of the notebook with the JavaScript notebooks.
Okay, it doesn't work.
It doesn't always work.
In some cases it does.
But in some most of of them it is not going to work.
We will see that in functions for example, it is going to work, but in some other in most other cases
it will not work.
So just a few notes about the execution and about the notebooks.
Let's talk about data types.
So.
Here you have see that in this notebook.
We are going to give you more details and you will have even more details.
We will see the W3 Schools.com website where you have even more details.
We will guide you through that website for, for you to, to, you know, make good use of your time.
Because if you don't know what you are doing, you are going to waste a lot of time in sites like W3
Schools.com.
So we will help you with that.
Let's talk a little bit about data types in Python and in JavaScript, especially about the data types
that are going to be relevant for us as LM developers.
So the the.
In most cases the the the most frequent data types we are going to be using in Python and in in JavaScript
when we are working with Elm applications.
Uh, I mean, the most frequent and the most complex one are arrays and objects or uh, we call it in
Python lists and dictionaries.
Okay.
So if we go to the notebook, the Python notebook, you will see that arrays or vectors are called lists
in Python.
So this is what sometimes is a little bit annoying about two languages.
They are.
Yeah, you seem mostly the same functionality and the same elements, but they use different names for
the same things.
So I mean, it's a little bit annoying, but once you know it, you understand that they are very similar.
Okay.
So don't be intimidated by the difference in names.
So in Python we call lists what in JavaScript we call arrays okay.
So here you have a list in Python.
And you can use you know range of indexes.
For example in order to print just, you know, the a part of the of the list, you know, in different
in different ways you have here, you have also here listed a common operations with this data type
in JavaScript.
Okay.
Here you have a we even don't talk about uh, arrays because they are very simple in JavaScript.
So we go directly to objects in Python.
What JavaScript calls objects are called dictionaries okay.
So if we go here you will see that Python dictionaries are very similar to Json objects.
So here you have an example of a dictionary in Python.
And here you have an example of a JavaScript object.
Okay.
Very similar a little differences but very similar in concept okay.
Python as we say here has a.
Three.
Excuse me.
Wow.
So Python has a peculiar data type called tuple, which original originally was, uh, an unchangeable
list.
Right now we have tricks to change tuples, but, well, we can understand that a tuple is an unchangeable
list is a peculiar Python data type A is very similar to a list, but instead of using the typical,
you know, a syntax with the list, we are going to use parentheses for the tuple.
And in the case of the tuple, if you only have one element, you will still going uh to use the the
comma at the end.
Okay.
So we are not going to make a lot of, uh, we are not going to see a lot of tuples in Elm application
development.
And the operations with them are not going to be very complex in the case we find we find them.
Okay.
So about data types mostly we have the same thing in Python and and JavaScript.
In some cases we have different names for the same things okay.
Of course you have many other data types.
And you will you will see that in W3 Schools.com.
But these are the more relevant comments we want to to to give you regarding data types and and LM uh
app development with Python and JavaScript.
What about functions?
So in a Python and in JavaScript, functions are very similar as well.
So in Python we declare a function with the keyword def.
In JavaScript, we declare a function with the keyword function.
Okay, so here you have a function declaration in Python def.
My function with one parameter is going to print.
Hello.
The parameter.
Here we are calling the function the my function okay with a string called argument.
And this is what we print.
Hello argument.
As you know what do we include here in this parentheses is called parameter when we are defining the
function.
And it's called argument.
Argument when we are calling the function is, is is a little bit confusing and a little bit annoying.
And most people just change this call these arguments and these parameters.
It doesn't matter.
Don't worry about it okay?
Just remember that parameters and arguments are mostly the same thing.
It's just a different moment in time.
With JavaScript functions are very similar.
Instead of def, we are using the function keyword, and here we are using the mind function uh parameter
and we are returning hello parameter.
You see very very similar syntax.
Very similar.
Uh here we have the colon.
Here we have a different way of expressing it but very very similar.
Here we are using print.
Here we are using return.
And if we call this function you see that we don't need this trick.
The JavaScript in uh the this line, we don't need it in the notebook.
This is going to work.
And in this cell we are going to remember with the content here.
So this is one of the exceptions you will find in the notebooks with with JavaScript okay.
So apart from the declaration of the function we have some peculiar things to know about Python functions
and JavaScript functions.
And these you are going to find these kind of things when you are working with LM app development.
So the first thing is the arbitrary argument arguments and keyword arguments.
So in this function declaration we are saying that there is only one parameter.
What happens if we don't know how many parameters we are going to have?
We can use the arbitrary arguments or arbitrary keyword arguments.
This distinction is more or less the same.
This.
If you want to know the difference, just go to ChatGPT for your friend and ask about it.
In one second you have the response more or less.
It's the same thing.
The what we are saying here is a we are creating a function called person and we don't know how many
parameters are we going to use.
So here what we say is okay a the function person is going to print a string ID data a and we are going
to call the name of the individual, okay.
And when we are calling this person function we are defining the individual arguments okay.
So the name is going to be Julio.
The last name is going to be Colomer.
So if we.
Call this person function with this argument is going to tell us I is going to print ID data and the
individual name, which in this case is Julio I'd data Julio okay.
So this.
A arbitrary arguments are something you are going to see very frequently when you work with Elm up development,
where you review, you know, the code of other developers.
So it's important to to have in mind.
Another thing you will probably find is lambda functions.
In Python we call lambda functions, what in JavaScript we call arrow functions.
They are very very similar okay.
So what are lambda functions and arrow functions.
They are like condensed uh functions.
They are like a short way of writing functions.
So if we want to um, excuse me, if we want to write this function with a lambda, uh, way, we can
do it in this way.
Okay.
So we are assigning the variable x.
We will have to call it my function just to be exactly like that.
But let's call the function x okay.
We are going to say x equals to lambda.
And this is the parameter we are sending.
And this is what we are returning.
Hello my plus parameter okay.
So if we print.
X with an string called argument.
We are going to print hello argument.
Super simple.
This is a way, like a way to write faster.
Some developers love it.
Okay, so some developers, if they can write one line instead of two lines, they love it.
So the more expert or the more a veteran the developer is, the more you are going to see this kind
of things, which is a little bit confusing.
Sometimes you will see, but some developers, they love this way.
In JavaScript there is a very similar approach which is called arrow functions.
So here you have the way to write an arrow function like the lambda function we we just wrote.
So we are defining the variable my arrow function equal to parameter.
Arrow function.
Hello parameter.
This means okay, this variable is going to be a function with a parameter, which is going to return
the string hello plus the parameter.
If we call this function with a string called argument, we are going to print hello argument okay.
Very very similar until here.
You know this is not very complex.
Lambda function can be a little bit more complex when they are used as anonymous functions inside another
function.
Okay, so you can see things like this.
You can see a function like matchmaker that has a lambda function included in there in its definition.
Okay.
So what are we doing here.
We are defining a function that we call matchmaker, which is going to um take two single persons and
it's going to make them marry.
Okay.
Get married, get married.
So if we use this matchmaker function with Robert Mitchum and Ava Gardner, we will have the result.
Ava Gardner, marriage of Robert Mitchum.
Okay, how do we do it?
We are using a lambda function inside of the matchmaker function.
It's a little bit cumbersome for the rookies.
It is not very intuitive.
It is not very simple.
When you find something like this, remember about the definition of the lambda function.
And if you get confused, just copy this and paste it in ChatGPT four.
And as the GPT four okay, convert this in a traditional function or explain what it means.
Okay?
But remember that whenever you find this keyword lambda, this is the way in JavaScript you can do something
similar.
And here is the way you can use an arrow function as an anonymous function inside another.
This is cumbersome.
I find it confusing, but some developers, they love it.
You know, the more they do it, the more they love it, the more the more they get used to it.
Whatever.
So you may find arrow functions and lambda functions.
I'm particularly not a fan of them, but we you are you are going to find these kind of functions very
often when you review and study the Elm applications code of other developers, okay, which is going
to be very common for you.
So keep this in mind regarding functions and important things to to remember about functions.
What about classes and objects?
First thing, Python is what we call an object oriented language.
So almost everything in Python is an object and it has properties and methods.
We will see what is a property and what is a method.
Actually super simple.
We will see it very, very soon.
So in Python, everything, almost everything is an object is an object oriented language.
And you will see that it's very useful to be familiar with, you know, the basics of classes and objects
in JavaScript.
We have seen that in the newer versions of JavaScript, JavaScript is more and more into classes and
objects.
So we will see that it has a lot of things that are very similar to what Python has.
Okay.
So first thing, how to well, what is a class for the ones that are new to the concept?
A class is like a blueprint to create objects.
This example is going to make it very easy to understand it to you.
So here we are a defining the class dog.
And here we are creating a dock with the name Fido.
Okay, so this is like the blueprint of a dock.
And this is one dog.
So this one dog is an object and the blueprint is what we call a class.
Okay.
So here we are creating a class dog.
And we are including a property of this class which is called species.
So in this property of the class do we say species is going to is going to be dog.
So if we create a new instance of this class which is going to be an object and we call Fido this new
dog, and if we print Fido species, it will say, okay, the species property of Fido is dog.
Okay.
Very, very simple and very easy to understand if we go to JavaScript.
As you see here.
A we have the same keyword class.
Okay.
So here we are defining the class dog.
In this case it's a little bit more complex.
Let's see.
Python, and you will see that the complexity of JavaScript is actually a clone of Python.
So this thing we have done here, the class definition, can be done in a more sophisticated way in
Python.
Okay.
So instead of doing just class dog species dog, we could have used some more complex, way more sophisticated,
more like, uh, more like the veterans way, you know, so we can use the init function.
Okay.
So, so if we are defining here a class cat, we can use the init function in order to define the properties
of the class cat in a more elegant, you know, sophisticated way.
And instead of saying just a species equals to cat and age equals to whatever we are going to use the
init function in order to define the properties.
Okay.
So this thing we are using here, the init function is what we call the constructor in the JavaScript
functions.
Okay, so we are doing the same thing here.
We are defining the class dog and we are including a property called species with and the string dog.
Okay, so if we create a new dog uh, this is an object we call this object Fido.
We are using a keyword for the for the variable.
And this is const for constant.
Okay.
So Fido is going to be our new dog.
And if we, uh, print the species of Fido, we shift enter, let's say.
Come here and say shift, enter.
We are going to have the dog species print.
Okay.
So.
Very easy.
I mean, a little bit confusing these names, but very easy.
The concepts that are behind.
Okay.
What about this other function call?
Esther.
Well, here you have, you know, the example of a cat class.
And then we are creating a cat and we are printing the color of this cat.
Very super easy.
What about the str, a function in Python?
Well, we use this whenever we want to represent and the object of a class as a string.
So what we are doing here is in the class cat, we are including the str function in order to return
a the name of the cat and the color of the cat.
So this is the the function.
It is returning a the name, the color and the species of the cat self refers to the this particular
object instead of self.
In JavaScript we use this.
Okay, same things.
So as you see, to learn to programming languages is even easier than to learn one uh, programming
languages one programming language.
A because if you study two of them at the same time, you can see the I mean, the similarities which
are, which are enormous, uh, between two languages like Python and JavaScript.
And also, you know, the differences and the different names.
Sometimes the way to understand a concept in JavaScript is easier than in Python.
Sometimes is the opposite.
But, uh, I think to to learn these two languages at the same time makes even the learning process
even more simple.
So here you have it.
Last thing we are going to see with, uh, objects and classes is the the keyword pass.
So we cannot define a class in Python, uh, an empty class without anything.
So if we want to define a class without anything, any property or method or whatever, we will use
the keyword pass.
We are going to see how to use this when we talk about inheritance later.
So a.
I think this is all about classes and objects by now.
Just to, uh, say that regarding methods and properties with classes, uh, you don't have nothing
peculiar in Python or in JavaScript.
It's very easy.
What is a property?
We know it already.
Okay.
Species name, age, color.
These are properties of the class.
What are methods?
The functions that are included in a class.
A small difference between a Python and JavaScript, as you see here.
The methods inside a class.
In JavaScript, they don't have the keyword function.
In Python we have the keyword def, but in JavaScript you don't need to use the keyword function inside
of a class.
Okay.
More things.
Inheritance first.
What is inheritance?
So when a class inherits all the methods and properties from another class, don't worry about definitions.
Let's check the example.
So here we are creating a class person and we are defining some properties and methods inside of this
class.
And then we will create the class student.
And we say you know what, I want the students to have all the properties and methods of the persons.
So just say class student, person.
With this way we are inheriting everything from person and we don't need to enter anything in the in
the class definition, we just use the keyword pass okay?
It's like okay, you just inherit everything from person and that's all you need.
If we want to add something original just for student, we can include it here.
But with this we are just cloning person into student.
Okay.
So this is very similar in JavaScript.
The only little difference is that you use the extends keyword.
So class student extends person.
You see here the JavaScript explanation is more clear than the Python one.
So studying both languages you can understand the concept uh earlier okay faster.
So another uh interesting things regarding modules.
So the concept of module modularity is very important when we are developing applications.
Uh, the purpose of modularity or separating our code in different modules is to be able to, uh, have
more control or more order organization regarding your code, why, we could have all our application
in just one file, everything in just one file.
But sometimes that makes it difficult when you want to debug, you know, when you want to reorganize,
when you want to change things.
And especially it makes it difficult when you are working in teams and different parts of the team are
working in different parts of the code.
Because of that, we separate the code of one application in different parts, and we call each of these
parts modules.
So when we want to use these modules with other modules, we use the keyword import.
So let's say for example that we our application is going to be like a body okay a body of a person
with the arms, you know, the legs, the head, whatever.
But instead of having all these elements in one file, we separate each of these elements in different
modules.
So we have the arm in one module, the head in other module the leg, etc..
Right.
So if we are working in the I don't know, the main file for example, and we want to bring the different
parts of the body, we can say import the arm, import the leg, import the head.
Okay.
So we have uh our code in different modules.
And with the use of the import keyword we can bring these modules to the file we are working in.
And this is the same thing.
Uh, the import keyword is the same in Python and in JavaScript.
What about packages.
So packages are or plugins.
Sometimes they are called plugins.
They are a pre-designed uh Python or JavaScript.
Uh.
Modules, or sometimes they are like small applications or whatever.
This is a code that is already developed for us.
So you will you will find this super useful because thousands of developers have developed code for
you and you can reuse it.
So let's say you want code for authenticate users or, you know, to do something special with a database
or whatever.
Probably there there is some someone, somewhere that has already had this problem and have has has
solved it and has loaded, you know, this package in the Python repository or the JavaScript repository
and you can reuse it.
Sometimes you reuse it like that, or sometimes you reuse it and modify or whatever.
Okay.
So the way we find these packages in Python is going to pi p.org.
And in JavaScript we go to npm js.com.
And the way we install this packages and this is in terminal is pip install or npm install.
This is the most frequent that we are going to use in our terminal pip install whatever.
And this is something that we will use whenever we are working with Next.js.
Vercel uh, about the front end of the application.
But you see that the concept is exactly the same different words, but the same concept.
What about debugging?
Here we have, uh, some code about this.
So with debugging, uh, we have many different tools and ways here.
We have highlighted a couple of them that in our opinion are significant.
First, uh, this way in Python try accept is a way to, uh, prepare yourself in order to print an
error message if something goes wrong.
So you can say, okay, what I want is to print this, uh, string.
All good.
But if you have if Python finds any problem trying to execute this command, I want Python to print
this, uh, error message.
Okay.
So this try accept is interesting.
And whenever you are working in a, like a dangerous, risky, problematic code, you use it, you know,
in order to, to send you a message saying, hey, this has failed and pay attention in JavaScript.
This is very, uh, similar.
Instead of try accept we use try catch.
Okay.
So is this annoying thing, you know, of different words meaning the same.
So this is what you are going to find very commonly when you are comparing different, uh, programming
languages.
So in the case of JavaScript we find try and catch okay.
And you have the different syntax, you know, but the concept is the same.
Another thing you are going to find is the race exception in, uh, in, uh, uh, Python.
So here what we are saying is if the variable x is, uh, less than zero, you are going to print this
error message.
Okay.
And here, since x is minus one the notebook is going to print the error message okay.
So here you have the error message.
Sorry no numbers below zero okay.
Probably this is not a very explanatory way but okay.
You you get the you get the point.
In uh JavaScript we have the throw new error way of doing it.
Same thing.
Okay, so just a quick note.
Usually in JavaScript we are going to use the browser's console in order to debug.
But we are not front end developers.
So usually we are not going here.
So don't worry about it.
Just you know, be aware of it, but don't worry.
A other things that are relevant and we are almost finishing in this section.
One thing is the a how to get user input in Python.
So in Python we use.
Let's go to Python.
In Python we use the input keyword.
So if we execute this okay we execute this cell with shift enter.
This input here is going to be displayed like this.
We are asking the user to enter the user name so we can say Mike enter.
And then with this user name that right now is Mike.
The Python is going to print.
Your username is.
The username you enter.
Mike.
Okay, in a house in JavaScript, this is not very common.
Uh, because usually we are, you know, working in frontend, but we can do this with prompt.
Okay.
So if we come here shift enter you see enter username we can say Michael.
Okay.
And then the window alert tells us your user name is Michael.
Okay.
So last words a about Python and JavaScript.
The important things for us.
You are going to find, we are going to W3 Schools.com.
And right now I will show you where to find the Python tutorial and the JavaScript tutorial.
Apart from the things we have highlighted for you in this section, I would pay attention to some other
things.
In the case of Python, I would pay attention to how Python works with Json, how Python handles files,
and a.
It may be interesting for you to pay attention to some tutorials about other frameworks, other machine
learning frameworks regarding Python.
I will show you where to find that in W3 schools.
And regarding JavaScript, I would pay attention to JavaScript with Json and also the asynchronous way
of working with JavaScript.
So let's take a look at that in W3.
So in W3 you can find the Python tutorial.
And as you know this is a free website.
This is a free tutorial.
But the problem with these websites is is or these courses is that if you come here and inform, you
are going to waste a lot of time and you are going to learn a lot of things that are not going to be
useful.
So let's see.
See here how many things you have with Python.
This is crazy right?
So that's why I think it's very important for you to be informed about what is relevant as an LM app
developer.
Okay.
But here, as I was telling you, you can find more information about Python and Json, Python and file
handling, and also a Python.
Working with other modules or frameworks like pandas is going to be more relevant for you sometimes
numpy etc..
Django not important, but these other 3rd May be interesting in some cases.
So here you have, you know, more detailed uh, tutorials about that with JavaScript.
The same.
You have a huge tutorial here.
And apart from the things we have highlighted, uh, here you have a Json and here you have the asynchronous,
uh, asynchronous ways.
The asynchronous way of working in JavaScript is very simple.
It has like a this scary name, but at the end of the day, what it is calling it is it is the meaning
of this is like, okay.
For example, in most cases you are going to use a synchronous, a asynchronous, uh, methodology when
you are working with databases.
So since the operations with databases are sometimes a little bit slow, we want to we want our application
to keep working while it is doing things in the database.
So instead of waiting for the database operations to finish we say, okay, while you are doing this,
do other things.
This is the asynchronous way of working.
It's not complex, you know, it's very simple in in concept.
Okay.
So the important thing for you to know is that here you have, you know, a huge tutorial about Python.
Very interesting is simple.
You have a lot of exercises here.
You know, you have a lot of examples.
You have a practical playing frame, a playground, you know, to play around with, with Python and
also with JavaScript.
So come here, you know, just to learn to practice, etc. but remember, these are the important things
you need to keep in mind when you are thinking about JavaScript and about Python.
And remember, you don't have to memorize this.
The important thing is to understand the concepts, to know where to come back.
You know, whenever you find a question or a problem and remember you have your friend there ChatGPT
for to ask whatever question about Python or JavaScript you may have or to ask, you know, write this
piece of code for me in Python or in JavaScript or whatever.
Okay, so I thought this was important, uh, for you, in order to save time, instead of going through
all these tutorials and, and courses and books about JavaScript, Python, etc. to understand only
what is important, what is relevant for you as LM app developer to understand about Python and JavaScript.