What does your desk look like?
-
@creayt said:
We can stop talking about it, but it's my entire point w/ the script versus tag based syntax. For generating dynamic HTML and integrating w/ HTML, which is, you know, only the most important and ubiquitous markup language in the world and responsible for the greatest innovation of our time, the tag-based language is much, much, much, much, much better.
I agree with you here mostly, and for years I constantly pushed for moving things to the web. I got my wish, but in the 90s people though I was crazy. I disagree with that a similarly syntaxed language is good, because mark up and actual programming are two different things.
Probably just because you haven't worked with it. It doesn't encourage one thing or another. You can easily, fluidly write full classes, inheritance and all, w/ the tag option. And it works extremely well, and can be written about as quickly as script version thanks to the beauty of code insight and completion.
I can see how this could be the case.
Dead simple ( pseudo
<class extends="parentClass"> <properties /> <method name="doSomething"> <argument name="a" type="b" default="c" /> <return x /> </method> </class>
You can format code by doing five ~ before and after the text. Anyway, this isn't the worst thing I've ever seen, but again feels too XML-like for my taste, and in fact aside from return x, this whole thing is XML parse-able; though I imagine less strict XML engines would allow an argument without value.
-
-
@tonyshowoff said:
@BMarie said:
How did we get from desk talk to Helicopters!
Helicopters are designed on desks Done.
Touche
-
@tonyshowoff said:
You can format code by doing five ~ before and after the text. Anyway, this isn't the worst thing I've ever seen, but again feels too XML-like for my taste, and in fact aside from return x, this whole thing is XML parse-able; though I imagine less strict XML engines would allow an argument without value.
That'll come in handy, thanks!
-
@tonyshowoff said:
This isn't the worst thing I've ever seen, but again feels too XML-like for my taste, and in fact aside from return x, this whole thing is XML parse-able; though I imagine less strict XML engines would allow an argument without value.
Right, I think most people would probably opt for the script-based syntax for a class, but the point was it doesn't encourage one thing or another, you can do everything you want to in either of the two ways, the art becomes prudently judging when to use which:
class { function doSomething( a ){ return x; } }
-
@creayt said:
@tonyshowoff said:
This isn't the worst thing I've ever seen, but again feels too XML-like for my taste, and in fact aside from return x, this whole thing is XML parse-able; though I imagine less strict XML engines would allow an argument without value.
Right, I think most people would probably opt for the script-based syntax for a class, but the point was it doesn't encourage one thing or another, you can do everything you want to in either of the two ways, the art becomes prudently judging when to use which:
class { function doSomething( a ){ return x; } }
That's much better
-
@tonyshowoff said:
@creayt said:
Ummmm, what? Better organization of code? What does that sentence mean to you?
Easier, rather, it puts you in a position to more easily organise things, because things are easier to follow and find. Proper organisation of larger projects is highly important, especially when you consider things like separation of concerns and so forth. Text editors like Sublime or Notepad++ don't really help with that at all.
How your code is organized depends on how you organize it, into files and folders. What am I missing here?
-
@tonyshowoff said:
@creayt Oh, no I wasn't, cfScript is vastly better. Admittedly my experience with CF is about 8 or so years out of date, but due to licensing, availability, and other issues I never consider it really. Full disclosure, I've always hated XML as well, and we use JSON or BSON for all of our transport/storage stuff in house where possible over XML. You may love ColdFusion, but I certainly do not, and I think that's fine.
I don't think anyone uses XML for almost anything in 2015. JSON won for most intents and purposes.
-
@creayt said:
How your code is organized depends on how you organize it, into files and folders. What am I missing here?
I think you're missing having worked on extremely large projects, for example a large enterprise project can be thousands of files. Being able to ctrl + click a class, function, method and it take me to exactly where it is, or easily search for part of a file name, class name, or something else, is a powerful thing that allows me to better and more easily organise my code is functionality products like PhpStorm offer that text editors don't, aside from obvious things like proper hinting, type recognition, etc.
The organisation of the code itself depends on what, if any, standard you're following, and so on, and it's obviously still easy to also badly organise your projects with something like PhpStorm, but being able to find things in a second (or less) in an indexed system and also properly name and organise them (things like PhpStorm will warn you if the naming and/or directory structure is off scheme) are vastly superior to having to search all files for my class, method, etc or go manually find the file with the class I'm looking for, and also cull results which are similar matches, and do it all manually.
So yes, it's organised depending on how you organise it, but that doesn't mean you did a good job. In the same way just because one writes code doesn't make it good, just because one wrote it.
I don't think anyone uses XML for almost anything in 2015. JSON won for most intents and purposes.
For transport over the web, yes JSON has won, but XML is still widely in use, especially amongst people who write in .NET or Java, and not just for protocols, but storage, metadata, etc. Many insanely verbose "standards" exist for XML eDocs out there, lest we forget all the insane things that use XML like many types of configuration files, Microsoft Office documents/spreadsheets/etc, just tons of things.
-
@tonyshowoff said:
I think you're missing having worked on extremely large projects, for example a large enterprise project can be thousands of files. Being able to ctrl + click a class, function, method and it take me to exactly where it is, or easily search for part of a file name, class name, or something else, is a powerful thing that allows me to better and more easily organise my code is functionality products like PhpStorm offer that text editors don't, aside from obvious things like proper hinting, type recognition, etc.
Well isn't that presumptuous. The project I'm working on right now is massive, and doing a quick check it shows that it has 15,737 code files, not including front-end resources like images or video. From what you were saying I was right, and you were talking about something totally different, code navigation.
But in reality I probably navigate my code as quickly or more quickly than you do. Sublime text lets you search through file, class, and function names with a simple keystroke and open other files right up to where you want them. It sounds like you're making these giant assumptions about Sublime Text based on your perception of its class of application, throwing it into a lump with "text editors" in your mind, when in reality it can be extended to do endless things in the same way that any "formal IDE" ( like Eclipse ) can. It has version control integration, code insight and analysis, and a host of other empowering features.
I personally see having to rely on your IDE to help you figure out where other code lives as the digital equivalent of a training wheel. It's better to deeply understand your code, strategize its organization in a way that that problem is automatically solved and that you know the exact location of every piece of code by convention, and could see it being useful when you take over a large project from someone else and have to learn it quickly by exploration using that method, although in all honesty that'd be just as easy to do using Sublime's keystroke navigation features.
The organisation of the code itself depends on what, if any, standard you're following, and so on, and it's obviously still easy to also badly organise your projects with something like PhpStorm, but being able to find things in a second (or less) in an indexed system and also properly name and organise them (things like PhpStorm will warn you if the naming and/or directory structure is off scheme) are vastly superior to having to search all files for my class, method, etc or go manually find the file with the class I'm looking for, and also cull results which are similar matches, and do it all manually.
So yes, it's organised depending on how you organise it, but that doesn't mean you did a good job. In the same way just because one writes code doesn't make it good, just because one wrote it.
Right, which is why your IDE has nothing to do with your code organization, which was my point.
-
Is WebStorm written in Java? The choppy and awkward interface kind of feels like it was. If so that's very unfortunate. I can definitely feel a usability difference already ( even palpable in things like the clumsiness of the file explorer panel ). Also missing the granular font-rendering and aliasing controls off the bat, and it's sad that you can't shrink and magnify the font size w/ Ctrl +/- like in a browser.
I'll use it for a day, maybe it'll redeem itself. Initial impression is "missing very important features, awkward to use, and unattractive."
-
Pretty sure that it is.
-
Wow, there's a tangible delay between when you open a file and when the colorization and text-modification renders. That feels gross! And I'm on a 2015 3.9 Ghz quad w/ a PCIe SSD and 16GB. I'm not sure I could live with performance like this, it's slowing me down within a few minutes of firing it up.
Also can't very obviously spot any way to repartition your editor space across multiple files and configurations, which you can do instantly w/ Sublime in order to go from using your full width for 1-2 files to splitting it across up to 4 horizontally, or gridding them, all w/ keyboard shortcuts. So far I've had to right click the file tabs and chose split vert/horizontally, which feels cumbersome and costs more time, especially when you want to go from looking at a few, to looking at some extra related code for a few moments, and then back to your original position. Time is money!
-
Well isn't that presumptuous.
Well, yes, I mean having to defend the use of an IDE is sort of unusual and I can only presume that someone who needed justification for standardised and IDE enforced code organisation hadn't dealt with a large project.
The project I'm working on right now is massive, and doing a quick check it shows that it has 15,737 code files, not including front-end resources like images or video.
And you edit that only in Sublime Text know what ever file does, and where every class is, etc?
From what you were saying I was right, and you were talking about something totally different, code navigation.
That's part of it, yes. But the organisation is important because it helps with refactoring, naming, maintenance, etc. Your perspective seems to be based on much smaller projects, even if you seem to be dealing with an obscenely large one. Our ERP is up to about 2 million lines and it's only 4,500 files, including HTML templates.
But in reality I probably navigate my code as quickly or more quickly than you do
I doubt that, I can ctrl + click any class or anything and find it's origin, or right click and find all usages of it anywhere, and the context, or do the same with alt + b if I don't want to leave my keyboard, and since all the code is indexed, it barely takes a second despite 2 million lines of code in this ERP.
It sounds like you're making these giant assumptions about Sublime Text based on your perception of its class of application, throwing it into a lump with "text editors" in your mind, when in reality it can be extended to do endless things in the same way that any "formal IDE" ( like Eclipse ) can.
I never said it wasn't a great editor, I said it was better than Notepad++ earlier. Eclipse is a piece of garbage, it's like a busted version of ... I don't even know, it's just bad.
I personally see having to rely on your IDE to help you figure out where other code lives as the digital equivalent of a training wheel.
This is from the perspective of someone who hasn't worked on a team with probably more than two people and really doesn't know what a large project is, at least that's my perception. This is sort of silly, honestly, the idea you could know hundreds or thousands of classes, especially if you work on multiple large projects. Not only that, why spend the extra effort to do that in the first place if you don't have to?
It's better to deeply understand your code, strategize its organization in a way that that problem is automatically solved and that you know the exact location of every piece of code by convention, and could see it being useful when you take over a large project from someone else and have to learn it quickly by exploration using that method, although in all honesty that'd be just as easy to do using Sublime's keystroke navigation features.
IRL enterprise doesn't work this way, sorry, it just doesn't, and it can't, otherwise large projects would never get done if everyone on the team had to create a special bond with all of the code. Personal projects that does happen though.
Right, which is why your IDE has nothing to do with your code organization, which was my point.
Yes, it does, because it keeps you on track and also the organisation of the code can tell your IDE about it as well, such as testing, class autoloading/including (for use in code), etc. You seem to believe that structure and names are meaningless beyond what you feel like, but that's not the case; certainly you can approach it that way, but then it becomes unmaintainable if the directory file structure and naming does not match name spaces and classes in some meaningful way.
It's just sort of weird to defend using an IDE and have it called training wheels, that's certainly not a professional perspective on development, and is basically out of line with probably much of the professional programming world; especially in team environments.
Is WebStorm written in Java? The choppy and awkward interface kind of feels like it was. If so that's very unfortunate.
Yes, I also consider that a problem, and it being a memory hog is a pretty big give away that it's Java. However, it's not that a problem if you've got enough system resources; I'd certainly rather see it written in C++.
Also missing the granular font-rendering and aliasing controls off the bat, and it's sad that you can't shrink and magnify the font size w/ Ctrl +/- like in a browser.
You can probably create a short cut for that, you can for damn near everything else. I suggest using it longer than a day, the problem is it takes time to really understand how to use it properly to get everything out of it, because you can approach it like a regular text editor and get no benefits at all; I've seen this happen.
Wow, there's a tangible delay between when you open a file and when the colorization and text-modification renders. That feels gross! And I'm on a 2015 3.9 Ghz quad w/ a PCIe SSD and 16GB. I'm not sure I could live with performance like this, it's slowing me down within a few minutes of firing it up.
That's really weird, my specs are almost the same and I don't experience that sort of latency. Sometimes on larger files, first view, there's a lag as it renders in the background, but that's substantially large files, and that's why the single responsibility principle is your friend.
-
Ok I lied. It'd be too detrimental to productivity to hop in and try to wield WebStorm for a real day's work, so I'll play around with it more after hours. At this point it's looking like it might be helpful for big, legacy, unwieldy PHP or Java projects, but can't really handle what I'd need it to do as a code authoring platform. I hope I'm wrong, but even things like my additioanl mouse button mapping shortcuts aren't working, and those are standardized across most modern apps ( like Ctrl + W to close a file, I mean yikes JetBrains, get with the times ). I'll write more when I have a chance to really dig in.
-
@creayt said:
So far I've had to right click the file tabs and chose split vert/horizontally, which feels cumbersome and costs more time, especially when you want to go from looking at a few, to looking at some extra related code for a few moments, and then back to your original position. Time is money!
That's one usability issue, but you have to view it in perspective of everything else it does. Plus also there are short cuts to jump to the last file you were in and in the position, and you can keep going back historically or move forward as well. There's probably a plugin thought that does what you're talking about.
-
@creayt said:
Ok I lied. It'd be too detrimental to productivity to hop in and try to wield WebStorm for a normal day of productivity, so I'll play around with it more after hours.
I used to use mostly plain text editors, I didn't even like highlighting before I started using PhpStorm. After I got into the groove it's pretty crazy how much time I save and I don't have to take the same sort of short cuts which lead to bad practices/breaking standards.
At this point it's looking like it might be helpful for big, legacy, unwieldy PHP or Java projects, but can't really handle what I'd need it to do as a code authoring platform. I hope I'm wrong, but even things like my additioanl mouse button mapping shortcuts aren't working, and those are standardized across most modern apps ( like Ctrl + W to close a file, I mean yikes JetBrains, get with the times ). I'll write more when I have a chance to really dig in.
I actually had to remap a few of the preset short cut keys as well, some of the more useful features had some of the most obscure ones, but they're easy to change in the settings.
-
@tonyshowoff said:
I used to use mostly plain text editors, I didn't even like highlighting before I started using PhpStorm. After I got into the groove it's pretty crazy how much time I save and I don't have to take the same sort of short cuts which lead to bad practices/breaking standards.
Like your big long post, this just reinforces to me that you don't really know what you're talking about, and have no idea what Sublime can actually do.
I actually had to remap a few of the preset short cut keys as well, some of the more useful features had some of the most obscure ones, but they're easy to change in the settings.
Right, so it's a struggle that you have to bandaid to serve its purpose, :D. Just moderni"s"e dude, find a legit IDE like Sublime Text
-
@tonyshowoff said:
Well, yes, I mean having to defend the use of an IDE is sort of unusual and I can only presume that someone who needed justification for standardised and IDE enforced code organisation hadn't dealt with a large project.
By almost all definitions Sublime Text, when writing code for the WEB, qualifies as an IDE. The only real deficit someone that was less-informed could argue is that it doesn't have integrated debugging but guess what? You wouldn't want it to. The debugging of cutting edge web apps is actually best done, you guessed it, on the clients they run on: Web browsers ( and their heavily-integrated debugging toolsets, this is extremely important because different things happen in different browsers ). So in my opinion it's the perfect IDE, functionally at least.
And you edit that only in Sublime Text know what ever file does, and where every class is, etc?
Yes. Unlike some other options ( PHP ), with ColdFusion you don't have to hunt down, scavenger through a ton of libraries and third party classes and plug them into your app, it can do a gigantor quantity of those things out of the box, because they're architected into the product itself and dead simple to utilize.
That's part of it, yes. But the organisation is important because it helps with refactoring, naming, maintenance, etc. Your perspective seems to be based on much smaller projects, even if you seem to be dealing with an obscenely large one. Our ERP is up to about 2 million lines and it's only 4,500 files, including HTML templates.
Just flat out inaccurate. "The organization" is something that you determine as an author or team, independent of any IDE or editor. You can and will achieve an IDENTICAL CODE ORGANIZATION whether in Sublime or Web Storm because ultimately you decide how to organize each code asset and what to name it. This is a silly argument because you keep misusing "organization" to mean "navigation".
I doubt that, I can ctrl + click any class or anything and find it's origin, or right click and find all usages of it anywhere, and the context, or do the same with alt + b if I don't want to leave my keyboard, and since all the code is indexed, it barely takes a second despite 2 million lines of code in this ERP.
Yeah, and in the time it takes you to execute your mouse travel to the spot you have to click on I've already fired up the file I want with the keyboard, so if that's your primary mode of code navigation then I probably navigate substantially faster than you depending on where your mouse cursor was at any point in time. The laundry list of competitive advantages of using Sublime over your favorite "IDE" are stacking up pretty quickly here
I never said it wasn't a great editor, I said it was better than Notepad++ earlier.
My point was you're trying to polarize Sublime and WebStorm based on the classification of editor versus IDE, but functionally they do almost all of the same things, and from your comments it just sounds like you don't comprehend that, and see it as some kind of simple text editor that colorizes your code, which is wildly misinformed.
This is from the perspective of someone who hasn't worked on a team with probably more than two people and really doesn't know what a large project is, at least that's my perception. This is sort of silly, honestly, the idea you could know hundreds or thousands of classes, especially if you work on multiple large projects. Not only that, why spend the extra effort to do that in the first place if you don't have to?
I've worked on a team of 7, but you'll rarely find a ColdFusion team bigger than 4 or so because of how productive it makes you. 1 highly-skilled and experienced CF developer can often do the work of multiple highly-skilled and experienced PHP developers, that's just a byproduct of the nature of the language, its feature set, and the methodologies and workflows necessary to achieve identical end results with each option. I'm sorry you had to find out like this.
IRL enterprise doesn't work this way, sorry, it just doesn't, and it can't, otherwise large projects would never get done if everyone on the team had to create a special bond with all of the code. Personal projects that does happen though.
It can and does, depending on the diversity of experience and skill within any given team, and the cumulative need of any given team to rely on 3rd party code and libraries, and the nature of the team's management and coordination, best practice enforcement, and a host of other factors. It sounds like large-scale PHP products are a lot more convoluted and unwieldy ( Java ones definitely are, but I didn't imagine the problem being as extreme w/ PHP, sounds like it is ), which in turn makes relying on some of the code-navigation features of a tool like JetBrains' a necessary evil. With 3rd party ColdFusion resources, you're not having to hop in and work with internal classes, you throw the library into your project, and work with it like a black box, using its documentation as an instruction manual and leveraging its formal functionality according to plan instead of sogging through the swamp of its internals manually, which is the experience you semi-describe in your stories about code navigation ( referred to as "code organization" in your posts ). In summary, the better the synchronicity and coordination of any given team the less necessary stuff like you're referring to will be, and the less difficult it'll be to find what you're looking for even in large projects.
You seem to believe that structure and names are meaningless beyond what you feel like
Ok, you're definitely miscomprehending my posts, that's the exact opposite of what I said. Structure and naming are EVERYTHING and are what, when done correctly and with uniform and standardized convention, can TOTALLY EXEMPT YOU from the having to rely on your IDE indexing and babysitting your finding of where any given chunk of code originates from. So no, it's not "what you feel like", it's "what is a solid naming and structural strategy that'll let me know where any given piece of code I may need to work with or edit is at any given time. I promise, once you learn about and adopt proper conventions it'll make your projects so, so much quicker to author and not to mention maintain. You can thank me later
It's just sort of weird to defend using an IDE and have it called training wheels, that's certainly not a professional perspective on development, and is basically out of line with probably much of the professional programming world; especially in team environments.
Again mischaracterizing my posts. I was asking you what you personally felt like your chosen IDE offered you over what I stated was my preferred code authoring platform, Sublime. I didn't say "why are IDEs, generally speaking, better for certain types of coding tasks than basic text editors" ( even though Sublime Text isn't one ), which is how it seems like you keep trying to paint my question. The training wheels comment was SPECIFICALLY ABOUT RELYING ON YOUR CHOSEN IDE'S ABILITY TO LET YOU NAVIGATE TO OTHER FILES BY CLICKING SMALL NODES OF CODE IN A CURRENT FILE. Please read the posts again if you still disagree.
You can probably create a short cut for that, you can for damn near everything else. I suggest using it longer than a day, the problem is it takes time to really understand how to use it properly to get everything out of it, because you can approach it like a regular text editor and get no benefits at all; I've seen this happen.
Maybe so, but at this point, because I'm already at a point where my team's projects adhere to well-enforced conventions and best practices, I don't find myself struggling in a pool of code to figure out where some cryptic function or class came from, and you, as an experienced champion of your favorite IDE, still haven't really listed one compelling reason to use it over Sublime, at least for people that aren't working on big, klugdy, PHP monsters.
That's really weird, my specs are almost the same and I don't experience that sort of latency. Sometimes on larger files, first view, there's a lag as it renders in the background, but that's substantially large files, and that's why the single responsibility principle is your friend.
I bet you're seeing it you just aren't as sensitive to it as I am. It's not huge it's just perceptible. With Sublime, within 30 milliseconds of your second click to open a file it's colorized with an active cursor. In WebStorm, you've got at least a few hundred milliseconds before the file is ready to go. Probably another byproduct of the Java as-an-interface mistake, but who knows. I'm kind of ADD about computers and performance tends to bug me way more than most people, even if not especially other developers. It's not a good or bad thing, just how my brain works.
-
Shouldn't all this programing stuff be split off into a topic in the developer discussions? @Minion-Queen Can this be done?