|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
compiler is more important than IDE, yes... at least when it comes to msvc vs gcc / clang... unless you don't mind being stuck in last century. you can't easily emulate compiler functionality (what you are allowed to write), emulating IDE features is trivial (how you write). it's like saying i'd rather express myself with the pen than the pencil, even if that means the pen only allows me to write the words "stool", "floor" and "james". it's the elegance of the code that matters, not the elegance with which you wrote it...
regardless there are IDE's that easily let you use gcc or clang and are available on windows platform.
|
Almost everyone I read online about vim tells me to rebind esc to tab, but doesn't that become a nightmare when your working in nest programs?
|
You should have caps lock become esc. Nobody uses caps lock (if you really use it, make esc caps lock), and it's a lot closer than the esc button.
|
On February 15 2015 00:45 Arnstein wrote: You should have caps lock become esc. Nobody uses caps lock (if you really use it, make esc caps lock), and it's a lot closer than the esc button. I orginally meant tab but caps lock seems a good idea.
|
On February 14 2015 19:51 darkness wrote:Show nested quote +On February 14 2015 19:00 nunez wrote: if you have the choice, go for gcc or clang... not msvc... So trade a compiler for an IDE? Sounds wise. You can extend Vim and Emacs, and it seems there's a good chance that you can get it to do everything you want from an IDE from what I've seen (about people using Emacs at least).
The scripts in the editor can for example know all definitions in your project, meaning you can do things like jump to where the definition of what's under the cursor is even if it's in another file.
It's possible to run and process the result of external programs, and then for example collect a list of compiler errors that you can use to jump to where it is inside the editor, and it can highlight stuff in there.
Interaction with currently running external programs like a debugger is also possible, you can then set break points and stuff where you edit your code and this gets sent to the debugger, and then the other direction, the scripts can get to variable and register contents and whatnot from the running debugger and you can then browse that in a buffer inside the editor.
|
~Why not just use an IDE that has some vim integration?
|
I guess you just slowly grow it into something you're happy with over the years, and then using that editor just feels like home.
|
On February 15 2015 03:21 TMG26 wrote: ~Why not just use an IDE that has some vim integration?
I don't want to turn on the "vim mode" in my IDE because I know it won't be vim.
|
On February 15 2015 08:58 Manit0u wrote:Show nested quote +On February 15 2015 03:21 TMG26 wrote: ~Why not just use an IDE that has some vim integration? I don't want to turn on the "vim mode" in my IDE because I know it won't be vim. Indeed. Most attempts at vim-style commands in IDEs/non-native implementations of vim in other text editors fall pretty flat. Sublime Text's, even with plug-ins to make them better, still aren't as smooth as native vim. In most IDEs it's even worse. I seem to remember Eclipse's being fairly janky too.
One thing I have seen with some IDEs (in cases where it is even possible of course) is people replacing the default text editor with vim in the IDE. My buddy does that with Eclipse (not sure how, but he insists it's actual vim). It's too bad that type of behaviour in IDEs is seldom supported.
On the general topic of learning vim and going "back to basics" by doing almost everything from the command line, I'm all for it. A lot of people I work with both in and outside of class are stuck in the "I only use Visual Studio/Eclipse for everything and have no idea how to use make or compile things by hand" mode. I find you learn way more having to do things by hand, and once you get a hold of how things work at a lower level, you can work as fast or faster from the command line in many situations.
|
On February 15 2015 09:29 Ben... wrote:Show nested quote +On February 15 2015 08:58 Manit0u wrote:On February 15 2015 03:21 TMG26 wrote: ~Why not just use an IDE that has some vim integration? I don't want to turn on the "vim mode" in my IDE because I know it won't be vim. Indeed. Most attempts at vim-style commands in IDEs/non-native implementations of vim in other text editors fall pretty flat. Sublime Text's, even with plug-ins to make them better, still aren't as smooth as native vim. In most IDEs it's even worse. I seem to remember Eclipse's being fairly janky too.
I had a go at Eclipse's 'emacs mode' because I had to use Eclipse a couple months ago for a while... definitely a well-intentioned but tragically underpowered mode. Maybe I just didn't get that into it but it was just so hard to get it to feel like Emacs, things like the Eclipse autocomplete just get in the way and I end up typing things wrong more often than right =/
Not even getting started on the times I had to write C# for work and use VS... I kept hitting C-x C-s to save, which had the unfortunate effect of cutting the line I was working on then saving the file in a state I didn't want it to save in lol. I mean, all of these things are just familiarity things, and I know I could deal with them if I tried... but it seems *definitely* not worth the effort to me to use Emacs mode in any other editor, and they all kind of bother me in their default modes now
|
|
Got a (hopefully quick) question. Is Python easily portable? Can I run the same Python executable on Mac, Windows, and Linux? How do all the different Linux builds affect this; will I be able to run the same stuff in Fedora as in Ubuntu?
|
is my understanding of how java works correct here:
I have a class that has variable "int x =5". It also has a method that just says "x=10".
I create an arraylist. I make an instance of the class with the variables, I store the reference to it in the arraylist, position 0.
I make another instance of the class, and this time I call the method that changes x. I store the reference to it in the arraylist position 1.
Then my program does some other random stuff, it's irrelevant. Now I call up that array. I get position 0. I print reference.x. I call up position 1. print reference.x
Will it print 5, and 10?
If so, how does java know not to garbage collect my objects? And if not, how do I keep the objects around so that I can actually reference them from an arraylist?
|
Yes it will print 5 and 10.
The garbage collector only deletes items that you can no longer access. When an item goes out of scope it will be collected by the garbage collector (eventually, the garbage isn't collected instantly). Your arraylist is still in scope so all the objects it holds are also still in scope and won't be collected.
|
On February 16 2015 03:31 Blitzkrieg0 wrote: Yes it will print 5 and 10.
The garbage collector only deletes items that you can no longer access. When an item goes out of scope it will be collected by the garbage collector (eventually, the garbage isn't collected instantly). Your arraylist is still in scope so all the objects it holds are also still in scope and won't be collected. Further, int isn't a good example. It's a primitive that's stored literally. When you put x in an array, you're storing the value of x, not x. This is not true of more complex objects. Anything more complex than a primitive will store a reference in the array.
|
On February 16 2015 03:23 Millitron wrote: Got a (hopefully quick) question. Is Python easily portable? Can I run the same Python executable on Mac, Windows, and Linux? How do all the different Linux builds affect this; will I be able to run the same stuff in Fedora as in Ubuntu?
http://stackoverflow.com/questions/1883118/big-list-of-portability-in-python
It should be relatively easy to port if you adhere to few rules (not using system-specific modules, using system path separators, uniform newlines, making sure that size and endianess are correct etc.).
|
ok thanks. regarding x being a primitive it doesn't matter right? I am still storing reference to the object not to x.
Alright I have a followup question, I figured what you guys said is the case.
What if, in the example I gave, my program wants to create many instances of that class with the variable "x". Over and over it wants to store instances of this class into the arraylist, sometimes where X = 5, and sometimes where X = 10. It wants a unique object each time, ignore that some of them hold the same value.
But how in the world would I write this code? I can't just make an instance of it with the same reference name over and over, because that name gets taken the first time it is stored in an arraylist. But I also can't reasonably write code in a way where I actually write out a new name for it every time I want a new instance if there is going to be like 100 of them.
I am almost sure you can't do it, but just to make sure.. you can't put a variable IN a name for something right? Like, I can't do myclass referencenameX = new myclass(); and have X be an int that is incrementing?
Is there any way to do something to that effect?
|
If you're going to put them in an arraylist the smart way to do it would just be a for loop.
ArrayList myList = new ArrayList<MyObject>(); for (int i = 0; i < 100 ; i++) { myList[i] = new MyObject(); if (i % 2 == 0) myList[i].setX(); }
I don't need to name them all something since I'm going to be accessing them from the list structure and never use the name anyway.
|
On February 16 2015 03:49 travis wrote: ok thanks. regarding x being a primitive it doesn't matter right? I am still storing reference to the object not to x.
I'm am pretty sure, not 100% maybe like 90%, that you never really store a reference to an int, or any other primitive in Java.
On February 16 2015 03:49 travis wrote: Alright I have a followup question, I figured what you guys said is the case.
What if, in the example I gave, my program wants to create many instances of that class with the variable "x". Over and over it wants to store instances of this class into the arraylist, sometimes where X = 5, and sometimes where X = 10. It wants a unique object each time, ignore that some of them hold the same value.
But how in the world would I write this code? I can't just make an instance of it with the same reference name over and over, because that name gets taken the first time it is stored in an arraylist. But I also can't reasonably write code in a way where I actually write out a new name for it every time I want a new instance if there is going to be like 100 of them.
I am almost sure you can't do it, but just to make sure.. you can't put a variable IN a name for something right? Like, I can't do myclass referencenameX = new myclass(); and have X be an int that is incrementing?
Is there any way to do something to that effect? That's what the arraylist is for. Instead of having it be referencenameX for your variable, you array[x].
|
Any linux guru/user here ?
What are the best linux server OS that i should use if i am going to utilize lamp lamp ?
|
|
|
|