Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
06-08-2017, 04:24 PM
|
#1
|
LQ Newbie
Registered: May 2017
Posts: 23
Rep:
|
Compiler Complications, (Trying to use 2 different ones in 2 different OS's Win 10|~Ubuntu/Mint)
So I'm working with a roommate in starting our venture to studying Programming, (In my case Java, and his python, I believe,) and I'm trying to fix up a laptop, that is having it's own complications, but that's on a different thread. As well as a Window's 10 Professional Desktop Computer I have for really keeping all my hard work backed up to, if not use better as a CAD device. (I mean as much as I can push it to, but yeah.) Now the problem/area we're trying to work on for this code is for Window's 10, and the laptop which currently is running Ubuntu, but I may install mint, if this WLAN's more readable on that, but more on that later.
I have a lot of compiler's downloaded, and to what my roommate says, he recommend using Emacs, however being that some of the files I'm trying to modify to test out my knowledge that I happen to load, (as embarrassing to say, I wanted to utilize my first experience in knowledge in java to mod MineCraft with the MineCraft's Coder Pack, (the 1.11.2 Directed Compatible one,) which, after observing the downloaded files, seemingly is more made for the Eclipse Compiler instead, and there is an plugin it appears for Eclipse to emulate Emacs, but as I am new to, well everything, I can't help but feel I'm overcomplicating something.
So I just want to know which is more recommended, Emacs, (As it is on Ubuntu, at least what my friend says, and am eventually going to use, as the laptop I'm fixing up I plan on putting whatever Linux OS that can actually read the internet through my current WLAN card) or Eclipse? (I did download the Java version, and then download the plugin, but as with MCP, contains little Executables to automatically "cling on to the mother program," if you will.
So yeah to be fair I am at the very beginning of understanding programming, and I want to share code between 3 devices, one of which is Window's 10, and the other 2 is Ubuntu related. So Yeah...
|
|
|
06-08-2017, 05:14 PM
|
#2
|
LQ Guru
Registered: Apr 2010
Location: Continental USA
Distribution: Debian, Ubuntu, RedHat, DSL, Puppy, CentOS, Knoppix, Mint-DE, Sparky, VSIDO, tinycore, Q4OS, Manjaro
Posts: 6,004
|
Just so you understand, your question has nothing to do with compilers. You issue is with code editors or an IDE (Integrated Development Environment).
Eclipse is supposed to be good for that. EMACS is not an IDE, but can be configured to act as one due to the power of the configuration options available.
I use different IDEs for different compilers (Lazaruth for Pascal, as an example) but do most of my coding in vim and compile on the command line (using make and often GCC/G++). Very old-school. You will want IDE advice from someone who does more work with the newer languages and current styles in education.
Remember, it is not the IDE choice you make, it is what you DO with it that counts. Choose one that seems powerful, natural, and fits your work flow so that you WANT to code more and better projects.
|
|
|
06-08-2017, 05:41 PM
|
#3
|
Member
Registered: Jan 2017
Location: Manhattan, NYC NY
Distribution: Mac OS X, iOS, Solaris
Posts: 508
Rep:
|
Those are editors, not compilers. Although in some cases (like Xcode on the Mac), the editor is tied into the compiler so it can show real-time problems or hints with your code as you type.
|
|
|
06-08-2017, 06:21 PM
|
#4
|
LQ Guru
Registered: Jan 2005
Location: USA and Italy
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
|
I think pinning down the terminology might be a good first step.
|
|
|
06-20-2017, 08:59 AM
|
#5
|
Member
Registered: Jan 2017
Location: Manhattan, NYC NY
Distribution: Mac OS X, iOS, Solaris
Posts: 508
Rep:
|
Python isn't a compiled language, it's more like Perl, compiled on-the-fly. Java is a semi-compiled language, as it is compiled into a specialized byte-code that is interpreted by the java interpreter. By comparison, languages such as C are compiled directly into the target machine language code that is saved and runnable by any computer with a compatible architecture with no extra software required.
.
Last edited by Laserbeak; 06-20-2017 at 09:00 AM.
|
|
|
06-20-2017, 01:21 PM
|
#6
|
LQ Guru
Registered: Apr 2010
Location: Continental USA
Distribution: Debian, Ubuntu, RedHat, DSL, Puppy, CentOS, Knoppix, Mint-DE, Sparky, VSIDO, tinycore, Q4OS, Manjaro
Posts: 6,004
|
Quote:
Originally Posted by Laserbeak
Python isn't a compiled language, it's more like Perl, compiled on-the-fly. Java is a semi-compiled language, as it is compiled into a specialized byte-code that is interpreted by the java interpreter. By comparison, languages such as C are compiled directly into the target machine language code that is saved and runnable by any computer with a compatible architecture with no extra software required.
.
|
To be even more correct, almost any language can be implemented as an interpreted language (ala most common BASIC,PERL, PYTHON, and JAVA), or as a fully compiled language ( ala gcc, Pascal, FORTRAN ). I have used Pascal interpreters and compilers as well as BASIC interpreters and compilers.
What Laserbeak said is generally true for the most common implementations of those languages on the platforms in question.
Some languages have several different implementations, and you may need to pick and choose between them.
The important thing in your specific case is to pick implementations of your target language that are pretty compatible (at least source compatible) between your development platforms and that support your target hardware.
Java is an excellent choice for that. I dislike it, but it is very popular for good reason. Java interpreters have been ported to MANY hardware platforms.
|
|
|
06-20-2017, 02:58 PM
|
#7
|
Member
Registered: Jan 2017
Location: Manhattan, NYC NY
Distribution: Mac OS X, iOS, Solaris
Posts: 508
Rep:
|
There are some languages that simply can not be fully compiled to machine code because they rely on things that can only be determined at run-time not compile-time. Some languages where it's not too big of a deal are mostly compiled but have a small helper program running alongside it that can "interpret" source code or some byte code of it when necessary (like Objective-C), while others have to just interpret the source code line by line every time the line is executed.
|
|
|
06-20-2017, 04:08 PM
|
#8
|
LQ Guru
Registered: Nov 2010
Location: Colorado
Distribution: OpenSUSE, CentOS
Posts: 5,573
|
Emacs is a text editor, not unlike Notepad or Wordpad. It is not an IDE, it's not a compiler, all it does is edit text files. You can use some plugin functionality to add support for other things and make it act more like an IDE, but at its heart it's just a text editor.
Eclipse is an IDE, still not a compiler. An IDE is basically a text editor and wrapper for the compiler built into one program. Like a text editor that's designed and only used for programming.
In either case you still need a compiler, which will depend on the language you're writing in (python doesn't use a compiler, its an interpreted language).
As for what you should use, that's up to you, a text editor is a text editor. I like Emacs, it has good support for syntax highlighting, auto-indenting, etc. I switch between Emacs and VI when I'm programming, Emacs for large development, VI for quick changes or touch-ups. I don't use IDEs because I don't like IDEs, I much prefer a text editor for writing the program, and manually compiling on the command line with a make file or build script.
If you're going to share your program between Windows and Linux, you are GOING to run into problems with line termination. Time to become intimately familiar with the Linux tools dos2unix and unix2dos, which can convert the line endings in ASCII files between the two formats.
|
|
|
All times are GMT -5. The time now is 03:02 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|