Enable contrast version

Tutor profile: Dylan M.

Inactive
Dylan M.
Software Engineer with Master's and TA experience
Tutor Satisfaction Guarantee

Questions

Subject: Python Programming

TutorMe
Question:

Why should I learn python in addition to or instead of another programming language?

Inactive
Dylan M.
Answer:

Python is designed to make program creation very easy. The syntax is very simple, it reads almost like English, and there's a mature corpus of library functions that allow you to do most anything from host a web server to create a complex machine learning framework. Despite the inherent performance cost of running python (as opposed to a compiled language like C++), many of its underlying libraries like numpy, scipy, and pandas use C and C++ to optimize their functions which makes performance costs from using python fairly trivial.

Subject: Computer Science (General)

TutorMe
Question:

How does data get transferred between two programs

Inactive
Dylan M.
Answer:

In order for information to be transferred between two programs, the data must be serialize-able. This means that the information can be converted to a byte stream or some type of readable string format like JSON. If the information contains classes or complex objects, each member within the object needs to be serialize-able. All primitive types are considered serialize-able (basically numbers and strings). Each time a new object is created, the program needs to have some semantic on how to translate it into a byte/string stream. An object can be made serialize-able fairly easily if each of its sub-objects are made serialize-able. If this is not the case, some special semantic may need to be defined for how to transfer and recreate the information. Once put into the serialize-able format, the data is sent through some type of Inter-Process Communication that has the operating system and/or the network take the stream of bytes and send it to a receiving program. The receiver of the information has to be both aware that the information is coming and has to understand how to interpret the information. If the information is in JSON format, the receiving program will be unable to read it if it is expecting an XML string.

Subject: C++ Programming

TutorMe
Question:

What are the primary difference between C++ when compared to Java, compared to C, and compared to Python

Inactive
Dylan M.
Answer:

\begin{itemize} \item Compared to Java: C++ gives much more liberty in regards to polymorphic and inheritance structure. In regards to inheritance, there are 3 types of inheritance modifiers: public, virtual and private. Most other languages do not have access modifiers on inheritance. C++ also allows friend classes and multiple inheritance. Although other languages avoid or try to circumnavigate these paradigms, C++ is very singular in these, but these can also be double-edged swords and make C++ programs much more difficult to trace/understand. C++ also allows more control over memory allocation. Since Java runs on the java virtual machine, memory allocation is outside of the programmer's direct control whereas C++ allows the user more fine-tuned control over whether information is placed on the heap vs. on the static. Although more control might sound nice, this can cause problems in terms of program and build complexity (how complicated your program is and how complicated it is to run your program). \item Compared to C: C++ is an object-oriented language whereas C is not. This means that C++ has language constructs such as classes, inheritance, and interfacing. In C, you can sort of circumnavigate the class construct by creating structs and using function pointers to pretend like those structs have methods. This is, however, a big hack and does not allow inheritance. Ultimately, if you're looking for OO programming, go with C++. C++ also allows you to run built-in C functions. \item Compared to Python: Python is an interpreted language, so like Java, it has a runtime which actively translates code and runs it. As a result, python can in most cases be much slower. Python is very different in terms of syntax, and there are a lot of shortcuts and abstractions that allow you to ignore things like data types. C++ is much more explicit. Much of python is actually created using C++, and many of the more optimized libraries have C++ implementations.

Contact tutor

Send a message explaining your
needs and Dylan will reply soon.
Contact Dylan

Request lesson

Ready now? Request a lesson.
Start Lesson

FAQs

What is a lesson?
A lesson is virtual lesson space on our platform where you and a tutor can communicate. You'll have the option to communicate using video/audio as well as text chat. You can also upload documents, edit papers in real time and use our cutting-edge virtual whiteboard.
How do I begin a lesson?
If the tutor is currently online, you can click the "Start Lesson" button above. If they are offline, you can always send them a message to schedule a lesson.
Who are TutorMe tutors?
Many of our tutors are current college students or recent graduates of top-tier universities like MIT, Harvard and USC. TutorMe has thousands of top-quality tutors available to work with you.