C/AL code editor

2

Comments

  • DenSterDenSter Member Posts: 8,305
    nuno.silva wrote:
    DenSter wrote:
    ... I have yet to see anything that you'd want to do with an ERP package that is not possible with Navision.

    Try Dexterity from Great Plains Software.

    Try Delphi, try Visual Studio, try Cool:GEN, try a whole bunch of other more integrated IDE's. Give me a specific example of something that you can't do with Navision, that anybody that buys Navision would want to do. All that I am saying is that for the purpose that it was built for, you can do everything you need with the Navision IDE.

    Sometimes I wish it looked a little nicer (colored keywords would be nice), or that the debugger was better (a movable breakpoint would be nice, or an immediate window), or that more was exposed of common object models. I just think it's to much to say that the Navision IDE is crap, I just do not agree with it.
  • jesamjesam Member Posts: 100
    I really don't understand why you keep telling us that you'd like to have a better debugger, and you'd like to have syntax coloring, and you'd like to have ... but you still think that IDE's that have those features (Delphi, VS) are worse. The only way I could understand that is if you make no difference between on one side the language and the Base Class Libraries and on the other side the editors. My gripe with the Navision IDE is not with the language, it is with the IDE. I want to see which variables and their types I defined in my code without having to go to a special window. I'd like to be able to copy paste some code uncluding the variable definitions.
    I'd like to be able to place a breakpoint in any module without first having to start the code, break on the first trigger and then stepping until finally the module I want to break in is loaded.
    I'd like to be able to do a search for a procedure name in the code window.
    I could go on and on. All these features exist in many other IDEs, and by the way, these features could indeed reduce the amount of hours that you can bill because fixing a trivial problem could then really be done quickly. Maybe that is the reason you are such a fan of the IDE, it leaDS to a lot of billable hours...
  • Edward_BloomfieldEdward_Bloomfield Member Posts: 155
    Navision's IDE is not brilliant, but:

    I find the idea of in-house (Hothouse/greenhouse) software developers complaining about it comparable to a truck driver complaining to his manager that his articulated lorry is not Michael Schumacher's F1 car.

    You are missing the point of Navision (Or indeed any flexible out of the box ERP package) entirely.
    Edward Bloomfield

    Lead Consultant
    Theta
  • janpieterjanpieter Member Posts: 298
    I agree. Navision is, unlike ohter development enviroments, not build for the developer but for the end user.

    It is not a development tool with a build in ERP system, but an ERP system with a build in development tool :roll: .
    In a world without Borders or Fences, who needs Windows and Gates?
  • jesamjesam Member Posts: 100
    I find the idea of in-house (Hothouse/greenhouse) software developers complaining about it comparable to a truck driver complaining to his manager that his articulated lorry is not Michael Schumacher's F1 car.

    First of all, the complaint is not that it is not an F1 car, the complaint is that the lorry at least should have a gear-stick, should have mirrors and should have breaks. Those are minimum requirements to be able to to antything meaningfull with the truck...

    The second point is that Navision is not sold as an out-of-the-box solution. In our company (and I am very sure we are not alone) the NSC was going to do the implementation of Navision throughout the company in 6 months. What a joke. After 18 months they were not even near to what they promised, so the IT department inherited a whole lot of code that was undocumented and basically was told to finish the job. So the fact that now I am driving a truck without breaks, mirrors or a gear stick not only bothers me, it makes it very hard for me to do my job the way I am supposed to do it. Anytime somebody claims that the faulty IDE is no point because we are not supposed to change a lot of code I would advise that person to look at the reality. NSCs try to make sales any which way they can (maybe not all of them, but enough of them to make it a problem), and if they think they can make a sale even if it requires to do massive customisations to shape Navision to the way the customer works, and not the other way around, they will choose that path.
    But even if it is against the point of Navision to have these gigantic customisations, the IDE still is crap. Turbo Pascal 3.x had a better IDE at the end of the eighties, and as we all know, 15 years is like a century in computer terms.
    If you were the truck driver, wouldn't you complain if your manager gave you a Ford T to do your job because that should be 'good enough' ?
  • NaviTools.comNaviTools.com Member Posts: 88
    HI,

    I do my programming in Navision Object Designer and use Navision Developer Toolkit (NDT) to examine code.

    It would be great if MS included NDT functionality in Navision. Or Navision Object Designer in NDT. They probably won't but you can do it yourself.

    There is possibility to update directly with Navision client (File, Update). This way you don't have to export/import to text file.

    If this update with client would be possible outside NDT, somebody could integrate other IDEs with Navision. I would be one of them :D

    I was thinking about following IDE features:
    -A Navision Model for navigating the Navision element tree
    -Objects Outline View
    -UML representation of Navision code
    -Code assist
    -Packages View (Granules)
    -Wizards for creating Navision objects
    -Navision Editor

    Navision editor would provide the following features:
    -Keyword and syntax coloring
    -Margin annotations for problems, requirements, specifications...
    -Outliner updating as editing takes place
    -Code formatting
    -History of changes

    History of changes would implement a structured compare of objects showing the changes to individual methods. It would support to replace individual elements with version of element in the history.

    Some other ideas to be included in such a tool:
    -Centralized code base for all customer's databases!!!
    -Ability to drag and drop requirements directly into the comments section of the code.

    Too much work? No if you use existing IDEs (Visual Studio, Eclipse,...). If only update with client would be possible...
    http://www.NaviTools.com
    Documentation for Microsoft Navision
    E/R diagrams, Workflow diagrams, UML diagrams, process diagrams
  • janpieterjanpieter Member Posts: 298
    i gave up the dream that update of txt object files can be done automatically, however i stil see that the Navision Developer Toolkit CAN do this so if someone could figure out HOW this toolkit does it that would be great.

    I spent some time trying to figure this out but no luck so far. And i am out of ideas of how this could work.

    Also the debugger does something with code. He does this with TCP/IP. But i cant figure out how this works as well because the ports change every time you debug.
    In a world without Borders or Fences, who needs Windows and Gates?
  • NaviTools.comNaviTools.com Member Posts: 88
    It would be nice Christmas present if MBS guys could give some hints :wink:
    http://www.NaviTools.com
    Documentation for Microsoft Navision
    E/R diagrams, Workflow diagrams, UML diagrams, process diagrams
  • RThibodeRThibode Member Posts: 1
    Try Delphi, try Visual Studio, try Cool:GEN, try a whole bunch of other more integrated IDE's. Give me a specific example of something that you can't do with Navision, that anybody that buys Navision would want to do. All that I am saying is that for the purpose that it was built for, you can do everything you need with the Navision IDE.

    Uhh... Windows APIs and DLLs without exposed interfaces for one. Some third party EFT vendors provide DLLs with no exposed interfaces. Because Navision cannot handle APIs you HAVE to go to one of these other tools and wrap the API DLL with a DLL that has exposed interfaces. I am not saying that Navision isn't a powerful tool, just that it isn't as great as you make it out to be either. Let's be realistic, Navision isn't and never will be as powerful as Visual Studio.

    My experience, overall, with Navision has not been terribly horrible. The tool itself isn't a bad tool. However, my experience to date with the NSC has been the most frustrating thing that I have ever had to deal with. I'd like to see all NSC's forced to work on a fixed bid. This way they'd actually have to complete the project that they said they could for the price that they said they could do it for. It'd be really great to actually see the NSC step up and take responsibility for the mess that they created. For these people it's all about the almighty buck and has nothing to do with customer satisfaction.
  • DenSterDenSter Member Posts: 8,305
    Alright this is the last time I post in this thread, since it seems that people just don't get my point, and I am starting to repeat myself. Besides I'm not changing any minds anyway. It's a good discussion though, because I do think that especially in the integration area there is room for a lot of improvement. Let's hope MS is reading these posts and put some more effort in the IDE.

    I never said the Navision IDE is better than the Visual Studios or Delphis of the world. If we're comparing development tools without taking into account the purpose of its design, then of course, Navision eats Visual Studio's dust, but that is exactly where you are not getting my point.

    What I am trying to say is that NAVISION IS NOT A DEVELOPMENT TOOL, Navision is a customizable ERP system, with limited yet very powerful development capabilities, including integration with external applications. Anything you'd want to be able to do related to the ERP functionality within Navision, you can do within the Navision IDE. Just because other tools do it better does not mean that Navision doesn't provide for it. Just because a certain other IDE does one thing better than Navision does not make Navision crap.

    I agree that there are many possible improvements, but just because you can improve something, that doesn't mean that it is crap to start with. I just don't agree with the bad reviews that Navision is getting here on these forums from people that are obviously used to much more powerful tools. Besides, the stuff that you're complaining about is a very small portion of your average Navision development. Most (I'd say 98%) of normal Navision development can be done easily with the standard IDE.

    Again, you are not getting the point. Navision's philosophy was not to make a great development tool, but to make a great ERP system. Of course that opens a whole other can of worms 8) for another thread.

    By the way:
    - you CAN enter breakpoints without starting the code
    - you CAN search for procedure names in the C/AL window
    - you CAN start the debugger on the first line of code
    If you don't know HOW to do this, that is hardly a shortcoming of the IDE. Rather than slamming the IDE as a result you should ask the forum how to accomplish certain things.

    Then again, obviously there are many things on people's wish lists, and since it is now a Microsoft product maybe we SHOULD expect a little more. I really doubt that we'll much improvement in the IDE until we get the big .NET system, whenever that may come.
  • mrQQmrQQ Member Posts: 239
    First of all, the complaint is not that it is not an F1 car, the complaint is that the lorry at least should have a gear-stick, should have mirrors and should have breaks. Those are minimum requirements to be able to to antything meaningfull with the truck...

    that is so wrong! there's almost NOTHING which can't be done and which IS needed by Navision target user base (so your example is really wrong - while truck driver can't use truck without gear-stick or perhaps mirrors, Navision users CAN and DO use Navision the way it is).

    All the problems you are mentioning arise from the fact that it somewhat sucks coding in Navision, cause it's not convenient for the DEVELOPER, but in the end, USER *does not feel it* (or shouldnt, provided you do your job good).
  • jesamjesam Member Posts: 100
    By the way:
    - you CAN enter breakpoints without starting the code
    - you CAN search for procedure names in the C/AL window
    - you CAN start the debugger on the first line of code
    If you don't know HOW to do this, that is hardly a shortcoming of the IDE. Rather than slamming the IDE as a result you should ask the forum how to accomplish certain things.

    * No, you CAN'T enter brekapoint without starting the code in 3.10 (which is the version we are stuck with).
    * You CAN'T search for a procedure name.

    If we don't know how to do this, maybe i'ts a shortcoming of the documentation and the online help. By the way, in mu Debug Menu the is an option to step INTO a procedure and step OVER a procedure, both simply step INTO the procedure. Ih that is not broken behaviour then I don't know what is ...
  • Edward_BloomfieldEdward_Bloomfield Member Posts: 155
    Hello Jesam,

    Now you have beaten us up :cry: - How about a constructive suggestion? :shock:
    * No, you CAN'T enter brekapoint without starting the code in 3.10 (which is the version we are stuck with).
    * You CAN'T search for a procedure name.

    Just because you have a 3.10 database does not mean you are stuck with the 3.10 executables/IDE. These features are available in 3.70 or later - All you need to do upgrade the executables. To do this, all you need is a CD with the relevant version and a new licence (Which your NSC should provide free of charge) that will let you run it.

    Back up the database, install the new version (& Licence), create a new blank database and restore the backup.

    I appreciate that the restore may take some time if the database is on the large side, which given the heat you are putting under Navision would suggest that it will be big, but hopefully the benefits will outweigh this.

    NB If had my way, all IDEs would be Hard to use. The easier the IDE, the less thought seems to go into it, the less thought that goes into it, the poorer the standard of code (and the more "champion" developers, who choose to use it :x ). I learnt to program in Pascal (C. 1994) when you had to think about what you were doing & remember the variables. Whereas other people seem to use 4GL IDEs as a quick way to produce sloppy code.
    Edward Bloomfield

    Lead Consultant
    Theta
  • jesamjesam Member Posts: 100
    Just because you have a 3.10 database does not mean you are stuck with the 3.10 executables/IDE. These features are available in 3.70 or later - All you need to do upgrade the executables. To do this, all you need is a CD with the relevant version and a new licence (Which your NSC should provide free of charge) that will let you run it.

    While it is probably true that this does work in 3.70, upgrading is not something we can do on the fly. It means re-installing all Clients, and it means re-testing of our complete application, this is hardly somehting we can sell to the managment with the only benefit that it makes it easier to debug.
    If had my way, all IDEs would be Hard to use. The easier the IDE, the less thought seems to go into it, the less thought that goes into it, the poorer the standard of code (and the more "champion" developers, who choose to use it ). I learnt to program in Pascal (C. 1994) when you had to think about what you were doing & remember the variables. Whereas other people seem to use 4GL IDEs as a quick way to produce sloppy code.

    This is really the dumbest remark I have ever heard.
    1. The Navision IDE is very hard to use, yet the standard of code is VERY POOR.
    2. An IDE should enable you to do your work and focus on the problem you are trying to solve. If an IDE, like the Navision IDE, is hard to use, you spend more time batlling it and less time solving the problem at hand. If I want to know how some method is implemented in VS.NET, I us the Go To Definition option. If I want to do that in Navision, I first have to find out if the method is implemented in the Table or in the Form (it is impossible to tell from the code). Since I can't use find in my version, the easiest way is to export the code to a txt file and perform a search there.
    Now which prcoedure do you think leaves you with more time to focus on the problem at hand ?
    3. All the code I have writtin in the last 4 years in VS.NET was written using an easy to use IDE, yet the quality of that code is much better than all the code I have seen in Navision. I am normally a modest guy and I would not say this easy but I just feel it is like this. I could list all the basic mistakes that crawl through the Navision code (the use of control structures without BEGIN/END blocks for instance, this is a prime candidate for the introduction of bugs) yet that would lead us too far.

    I just don't get why you people cannot admit that there might be somthing not all that great about Navision. I stand by my point, if you want to use Navision out-of-the-box it could be a good idea (I have not yet worked with any of the Navision competitors), but if you want to mould Navision to the way your organisation works, you're in for a ride. No documentation, no examples, no good code, NSCs that make a lot of mistakes or don't know the answer either, no acceptable IDE, no version managment of code, and the list goes on.
  • janpieterjanpieter Member Posts: 298
    I don't think anybody said here that programmaning in Navision is great.

    I don't understand why you just don't accept the fact that Navision isn't a programming language but an ERP system with some 'scripting' possibilities.

    I'am a .NET programmer 2 and i understand what you mean, but you just have to try to program the business logic in .NET as quickly as you can in Navision.

    I dont think you can. And thats why navision is great.

    Just wait a few years and you will have your C# IDE with business libraries and then I think you will be happy. But for now dont even hope Navisions programming IDE will improve because i don't think it will.
    In a world without Borders or Fences, who needs Windows and Gates?
  • jesamjesam Member Posts: 100
    I don't understand why you just don't accept the fact that Navision isn't a programming language but an ERP system with some 'scripting' possibilities.

    But I do understand that, the only problem is that some NSCs (the one that created our mess for instance) don't understand that and start to develop massive changes to the standard code in Navision. It is the responsibility of our team to clean up this mess but to do so, we have to use the Navision IDE with all of it's shortcomings.
    If our NSC had offered Navision as an ERP system with some 'scripting' possiblities instead of a system that can do anything you want and that is completely customizable, we wouldn't be in this situation.
    The NSC got some (not all) of it's implementation money, our new NSC and MBS have a steady revenue through licenses and we (the IT department) get to clean up the mess with inadequate tools to do so.
  • janpieterjanpieter Member Posts: 298
    Now you complain about a system that can not do anything.

    I agree about a crappy IDE, but not on this one. That the IDE is not fancy doesn't meen that it can't do what it is designed to do.

    That navision is sold being completely customizable i believe is not far from the truth. Many things are customizable. You can customize it with a crappy IDE.

    I'm sorry to hear that your NSC messed up. That seems to be your biggest problem.

    Also note that despite a crappy IDE C/AL is easier to learn then .NET.
    In a world without Borders or Fences, who needs Windows and Gates?
  • jesamjesam Member Posts: 100
    On one hand, you say that the IDE is bad but that that is not important because you are no supposed to do much with it.

    On the other hand, you say that Navision is completely customizable (where a few posts earlier you stil say 'an ERP system with some scriptiing capablities').
    The poblem is that in order to customize you need to use the crappy IDE which we actually are not supposed to use very much because it was not designed for real customization (as you and other have repeatedly stated).

    Yes, you can customize with a crappy IDE, but it takes much more time than if there were an adequate IDE, which was precisely the point I made.

    Anyway, I'm giving up this discussion. I feel that the IDE is crap and that that is a serious problem because our company loses a lot of time because of that. Anyone that feels that the IDE is good enough, or even great is entitled to his/her opinion but I doubt that they work in an IT department where they have to clean up after the NSC, or even do large scale Navision development. I can't believe that anyone that has ever worked with a serious development environment on a serious-size project would call the Navision IDE even good-enough. To me it is crap. It's like cooking a meal for a hundred people when all you have is Swiss Army knife. Will you succeed ? Off course, but maybe the dinner will have to be postponed for a few days ...
  • kinekine Member Posts: 12,562
    I am watching this discussion (I am from one NSC) and I have some remarks:

    IDE is only tool. As applicable for each tool, the piece of work created with this tool is combination of tool quality and craftsman skills. Bad tool in hand of master can create very good piece of work. Super mega tool in hand of dodo produce nothing usable. Because complexity of Navision I assume, that who want change something in this application, must know what he do, what impact it will have and what he want to reach. In this case, the simple IDE of Navision is sufficient for creating what you want. If you don't know what you want, you are not able to predict impacts or you dont know how to do that, none from super mega cool IDE helps you (and it is pity that plenty of NSC don't know how to do their job).

    Yes, there are situations, that it will be more comfortable to have some functions in IDE which are not there. But it is about comfort. Not about developing. And if you need make some complicated module, you can use external tools - MS is using them too (gantt graphs in NA4.00 etc.). Yes, there are suggestions for new tools for example for version system.

    This is the power of Navision - "fast" changes (and that does not mean that they are small) are made directly in Navision, if it is not sufficient, you can make some parts in external tools and use them in Navision.

    And if you have some suggestions, did you wrote it into Microsoft Suggestion Tool? No? Why? Why are you complaining about something you dont have if you don't ask for it?

    https://mbs.microsoft.com/suggestion/suggestionlookup.aspx

    This tool is part of PartnerSource (it is for NSCs).
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • DakkonDakkon Member Posts: 192
    Ok, first of all, Jelias1: I too use Codewright currently for alot of C/AL code, but I didn't realize navision distributed an ini for this. I built my own lexer, so I'll be happy to send it to you if you'd like.

    Now on the subject of the Navision IDE. I don't necessarily agree that it's simplicity makes it more efficient. Yes, it is efficient. Yes, it is simple. However, you could easily build a more elaborate, easy to use and efficient editor as well (ok not 'easily'). Anyway, without beating a dead horse here, I'm working on a standalone IDE for navision work myself right now. I doubt I'll be finished anywhere within the next 6 months to say the least. The editor will be familiar to people who use VS.NET alot. Don't hold your breath as I have no idea of an actual finish date, but I certainly believe Navision's builtin IDE could use some "SERIOUS" improvements or I wouldn't be working on this.
    Thad Ryker
    I traded my sanity for a railgun :mrgreen:
  • CodeGeniusCodeGenius Member Posts: 40
    Hi Guys,

    I have noticed that you all quite agree Navision has plenty short comings from a developers point of view. I have to agree with all of you on this point. When I started programming in Navision I felt like going back in time. (The ferrari / lada metaphor was really appropriate :) )

    Being a developer that knows many different development languages (incl. C#, Java, VB(.NET), and Delphi) I have invested some personal time into creating a helper tool for Navision.

    Starting as a start tool for Navision (zup file management etc.) I realized I could do much more. This much more is what I now call CodeGenius. CodeGenius still can handle Navision startup, but has a much more powerful feature I call code templates.

    Code templates lets you define pieces of standard code and with a simple key combination you can insert these pieces of code straight into Navision without using clipboard or sendkeys!

    Sounds cool huh? Well, you can find the installation at http://www.codegenius.nl

    I hope you enjoy it! Have fun coding like a Genius!
  • jesamjesam Member Posts: 100
    Today I installed CodeGenius. I must say that I can see the benefits of it when coding Navision, but to say that it brings the Navision IDE on par with Visual Studio is a huge exageration. And talking about VS.NET I found a big problem with CodeGenius.
    Apparently CodeGenius filters all keystrokes, regardless of which application is present, because one of my much used key combinations in VS.NET, Ctrl-Shift-F which is Find In All Files (how I wish Navision had this) now does no longer produce the Find In All Files Dialog Box but instead enters the string
    SETFILTER(
    
    in my source file. Apparantly CodeGenius filters out a key combination that it 'owns' and replaces that with it's own information. This means that as long as CodeGenius is running, it is impossible to use key-combinations defined in CodeGenius in other applications. So I'll have to start up CodeGenius right before I code in Navision and kill it again after I'm done with Navision.
    Anyway, I still think CodeGenius is worth downloading, but if at all possible, it would be nice if it only was active when Navision is the active window.
  • CodeGeniusCodeGenius Member Posts: 40
    jesam wrote:
    Today I installed CodeGenius. I must say that I can see the benefits of it when coding Navision, but to say that it brings the Navision IDE on par with Visual Studio is a huge exageration. And talking about VS.NET I found a big problem with CodeGenius.
    Apparently CodeGenius filters all keystrokes, regardless of which application is present, because one of my much used key combinations in VS.NET, Ctrl-Shift-F which is Find In All Files (how I wish Navision had this) now does no longer produce the Find In All Files Dialog Box but instead enters the string
    SETFILTER(
    
    in my source file. Apparantly CodeGenius filters out a key combination that it 'owns' and replaces that with it's own information. This means that as long as CodeGenius is running, it is impossible to use key-combinations defined in CodeGenius in other applications. So I'll have to start up CodeGenius right before I code in Navision and kill it again after I'm done with Navision.
    Anyway, I still think CodeGenius is worth downloading, but if at all possible, it would be nice if it only was active when Navision is the active window.

    You're quite right. That's why CodeGenius has the option to switch off the Hotkeys. Use SHIFT + CTRL + PageUP to toggle Hotkey state.
  • DenSterDenSter Member Posts: 8,305
    Could we stop highjacking old threads please?
  • DakkonDakkon Member Posts: 192
    Hey it's our prerogative to beat a dead horse. No one is twisting your arm to keep reading this thread.
    Thad Ryker
    I traded my sanity for a railgun :mrgreen:
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    Maybe our new moderator should close this topic. :mrgreen:

    I think everything is said about it. 8)
  • roshandilrukroshandilruk Member Posts: 51
    Dear All,

    Plz admit the fact that Navision is not a Programming Language, it's an ERP for Small business Units, in that regards I believe it's an ideal product, just see the FLOW field for an example.

    Yes as a programmer I myself even do not like programming in nav, but as a small ERP it is successful.

    Roshan
  • DenSterDenSter Member Posts: 8,305
    I don't have a problem beating an old horse, go right ahead and talk about it for 6 pages more. This thread was highjacked to advertise an add-on, and I DO have a problem with that.
  • kinekine Member Posts: 12,562
    Be patient. You will get what you need when we will be more closely to project green... and of course, there will be x page thread about "why this new IDE is so complicated, the old one was better!" :-)
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • joe_bradshaw2000joe_bradshaw2000 Member Posts: 17
    I think the ide in Navision is better than what you have for Oracle Applications. I wish there was a "break" statement for loops. I also wish there was an easy way to do a global find or find/replace on a string for a particular object or even all the objects. I copy code into gVim when I need macros. I would be curious about how the Navision development environment compares to SAP.
Sign In or Register to comment.