digitalmars.D.learn - Pro programmer
- GreatSam4sure (13/13) Aug 25 2019 I am wondering as to what is the starting point of being a pro
- Tony (4/18) Aug 25 2019 When you say "pro programmer" are you referring to someone who
- GreatSam4sure (16/40) Aug 25 2019 I am referring to a person who has a good understanding of
- Chris (24/34) Aug 26 2019 Often it's the language that best solves the problem at hand for
- GreatSam4sure (13/49) Aug 26 2019 Thanks, I have check dlangui, it is not native go window at
- Kagamin (7/9) Aug 26 2019 DWT was translated from java SWT, you can do the same for JavaFX,
- GreatSam4sure (4/13) Aug 26 2019 Thanks, is there tutorial on the translation of Java to D. Which
- =?UTF-8?B?UsOpbXkgTW91w6t6YQ==?= (13/16) Aug 26 2019 From what I can recall and find on the Internet, the tool used
- Dukc (23/37) Aug 27 2019 Any general purpose language will do. Basically everything can be
- GreatSam4sure (2/8) Aug 27 2019 Thanks a lot, really appreciate
- Ron Tarrant (11/13) Aug 27 2019 If it's deep understanding you want, start with assembly
- GreatSam4sure (3/16) Aug 27 2019 Thanks a lot. I want to have a deep understanding of programming.
- H. S. Teoh (38/49) Aug 27 2019 To quote Knuth:
- Jani Hur (3/6) Aug 27 2019 For Lisp, Clojure (https://clojure.org/) is a strong candidate:
- Russel Winder (18/22) Aug 28 2019 Common Lisp implementations may still have car, cdr, etc. for backward
I am wondering as to what is the starting point of being a pro programmer. If I want to be a pro programmer what language must I start with? Most pro programmer I have heard of are all C and C++ Guru. Most of the best guys on this D forum falls into that category. I really want to know programming to the core not just tied to a language or just at the level of drag and drop or use a framework or library. I will appreciate your help in this matter. I am ready to put in hard work. I ready know a little of java, actionscrip 3.0, kotlin, D but at the surface level but can use them to write app. But I am concern with matter like how can I write a GUI toolkit from the ground up.
Aug 25 2019
On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:I am wondering as to what is the starting point of being a pro programmer. If I want to be a pro programmer what language must I start with? Most pro programmer I have heard of are all C and C++ Guru. Most of the best guys on this D forum falls into that category. I really want to know programming to the core not just tied to a language or just at the level of drag and drop or use a framework or library. I will appreciate your help in this matter. I am ready to put in hard work. I ready know a little of java, actionscrip 3.0, kotlin, D but at the surface level but can use them to write app. But I am concern with matter like how can I write a GUI toolkit from the ground up.When you say "pro programmer" are you referring to someone who programs for a living for a company, or a "top notch/very good programmer" ?
Aug 25 2019
On Monday, 26 August 2019 at 04:39:39 UTC, Tony wrote:On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:I am referring to a person who has a good understanding of programming that he can model any real-world situation. He can turn any real-world case to a program. For instance, I consider Walter, Andrei, etc as a pro programmer this platform. They are c and C++ programmer. What is the path of becoming very good at programming? Which language will one start with. I have some real-world situation I want to model but I am at a loss as to how to start. For instance, I do one build a GUI framework like adobe spark, javafx,etc with minimum dependency or no dependency from the ground up. The lack of easily customizable, platform native GUI in D is a real concern to me but I don't have the expertise to do it. Where is the starting point of doing such amazing thing? Thanks for your replyI am wondering as to what is the starting point of being a pro programmer. If I want to be a pro programmer what language must I start with? Most pro programmer I have heard of are all C and C++ Guru. Most of the best guys on this D forum falls into that category. I really want to know programming to the core not just tied to a language or just at the level of drag and drop or use a framework or library. I will appreciate your help in this matter. I am ready to put in hard work. I ready know a little of java, actionscrip 3.0, kotlin, D but at the surface level but can use them to write app. But I am a concern with a matter like how can I write a GUI toolkit from the ground up.When you say "pro programmer" are you referring to someone who programs for a living for a company or a "top-notch/very good programmer"?
Aug 25 2019
On Monday, 26 August 2019 at 06:46:04 UTC, GreatSam4sure wrote:What is the path of becoming very good at programming? Which language will one start with.Often it's the language that best solves the problem at hand for you, but it really depends on what you want to achieve. For fast scripting and modelling maybe Python would be a good choice. But Python can be a dead end when it comes to performance etc. If you want to develop apps for Android/iOS you're better off using Java or better still Kotlin (Android) and Swift (iOS). You should always decouple the business logic of your app from the UI. So you can write code in C/C++ or D and later link it to any UI. Anyway, always think of where you want to go, e.g. portability / cross-platform and see what best suits you. If you wanna go mobile use a language that runs on mobile platforms like Android and iOS. If you want to write for desktop or server only you have more choices. Unfortunately, Android/iOS support for D leaves much to be desired.I have some real-world situation I want to model but I am at a loss as to how to start. For instance, I do one build a GUI framework like adobe spark, javafx,etc with minimum dependency or no dependency from the ground up. The lack of easily customizable, platform native GUI in D is a real concern to me but I don't have the expertise to do it.There is DlangUI: https://github.com/buggins/dlangui Check it out. And there are D bindings to other UI frameworks.Where is the starting point of doing such amazing thing?The truth of the matter is that you only know after years of programming what you need and what you don't need. As you get wiser you become less excited about the latest fancy feature of language X. Basically all languages have similar core features to model the world and solve problems (hash maps, arrays, structs, classes etc.) Just start to write programs that solve problems and enjoy...Thanks for your reply
Aug 26 2019
On Monday, 26 August 2019 at 08:50:29 UTC, Chris wrote:On Monday, 26 August 2019 at 06:46:04 UTC, GreatSam4sure wrote:Thanks, I have check dlangui, it is not native go window at least. The display is poor and the fonts worse. I can even center the window on the screen. We notice the designer for a month now no reply. Skinning and theming is an issue too. I want customizable GUI toolkit like JavaFX and adobe spark framework in D. I just can find any. I don't know to link D code with any GUI if not I would have gone with JavaFX or adobe spark Does, it means being a good programmer does not depend on any language? Does it imply being comfortable in any language of choice and domain of interest? Thanks for the replyWhat is the path of becoming very good at programming? Which language will one start with.Often it's the language that best solves the problem at hand for you, but it really depends on what you want to achieve. For fast scripting and modelling maybe Python would be a good choice. But Python can be a dead end when it comes to performance etc. If you want to develop apps for Android/iOS you're better off using Java or better still Kotlin (Android) and Swift (iOS). You should always decouple the business logic of your app from the UI. So you can write code in C/C++ or D and later link it to any UI. Anyway, always think of where you want to go, e.g. portability / cross-platform and see what best suits you. If you wanna go mobile use a language that runs on mobile platforms like Android and iOS. If you want to write for desktop or server only you have more choices. Unfortunately, Android/iOS support for D leaves much to be desired.I have some real-world situation I want to model but I am at a loss as to how to start. For instance, I do one build a GUI framework like adobe spark, javafx,etc with minimum dependency or no dependency from the ground up. The lack of easily customizable, platform native GUI in D is a real concern to me but I don't have the expertise to do it.There is DlangUI: https://github.com/buggins/dlangui Check it out. And there are D bindings to other UI frameworks.Where is the starting point of doing such amazing thing?The truth of the matter is that you only know after years of programming what you need and what you don't need. As you get wiser you become less excited about the latest fancy feature of language X. Basically all languages have similar core features to model the world and solve problems (hash maps, arrays, structs, classes etc.) Just start to write programs that solve problems and enjoy...Thanks for your reply
Aug 26 2019
On Monday, 26 August 2019 at 12:02:12 UTC, GreatSam4sure wrote:I want customizable GUI toolkit like JavaFX and adobe spark framework in D.DWT was translated from java SWT, you can do the same for JavaFX, D is heavily based on java and there's an automatic translation tool from java to D. There's no silver bullet to become a pro, you just work and gain experience and this experience allows you to reflect on coding practices on increasing scale.
Aug 26 2019
On Monday, 26 August 2019 at 15:29:47 UTC, Kagamin wrote:On Monday, 26 August 2019 at 12:02:12 UTC, GreatSam4sure wrote:Thanks, is there tutorial on the translation of Java to D. Which tools is used? Pls guide me, I am really interested in translating JavaFX to DI want customizable GUI toolkit like JavaFX and adobe spark framework in D.DWT was translated from java SWT, you can do the same for JavaFX, D is heavily based on java and there's an automatic translation tool from java to D. There's no silver bullet to become a pro, you just work and gain experience and this experience allows you to reflect on coding practices on increasing scale.
Aug 26 2019
On Monday, 26 August 2019 at 16:41:05 UTC, GreatSam4sure wrote:Thanks, is there tutorial on the translation of Java to D. Which tools is used? Pls guide me, I am really interested in translating JavaFX to DFrom what I can recall and find on the Internet, the tool used was named "tioport". It is only viewable on the old (deprecated) dsource.org website. Last activity was in 2007. A runtime library, dejavu, was used to emulate the java standard library. A port of swt 3.2.1 was done with it. I doubt that it supported D 2. I cannot find anything fresher than 2007 concerning tioport. The DWT project is still active: - https://code.dlang.org/packages/dwt - https://github.com/d-widget-toolkit/dwt I suppose once the first translation was made, the resulting code base was maintained incrementally, without resorting to whole translation of the SWT code.
Aug 26 2019
On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:I am wondering as to what is the starting point of being a pro programmer. If I want to be a pro programmer what language must I start with?Any general purpose language will do. Basically everything can be expressed in any language, through some tasks are very cumbersome in tasks they are not designed for.Most pro programmer I have heard of are all C and C++ Guru. Most of the best guys on this D forum falls into that category.C and C++ have steep learning curves, and tend to be better for professionals than amateurs. That does not mean C/C++ usage is what defines a pro. Even php, famous for being simple to learn but often hated by professionals, can be used professionally.I really want to know programming to the core not just tied to a language or just at the level of drag and drop or use a framework or library.Don't worry, learn to apply one language in practice and you'll usually figure out automatically how to apply any language you will learn. Well, sometimes when you transition to a new language you should learn new ways to do thing, because the new language is better suited for those than your old language. Famous example is that C programmers that transitioned to C++ or Java in the 90's were encouraged to start to thinking in object oriented manner. They did not strictly have to, as C++ and Java can be used for same programming stye as C, and C can do sort-of object-oriented programming, but object-oriented designs were (and are) so much easier to implement in the newer languages that in practice, object design should be used a lot more now than in the 70's.I will appreciate your help in this matter. I am ready to put in hard work. I ready know a little of java, actionscrip 3.0, kotlin, D but at the surface level but can use them to write app. But I am concern with matter like how can I write a GUI toolkit from the ground up.Basically, GUI libraries call the operating system API that is different for different operating systems.
Aug 27 2019
On Tuesday, 27 August 2019 at 08:09:40 UTC, Dukc wrote:On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:Thanks a lot, really appreciate[...]Any general purpose language will do. Basically everything can be expressed in any language, through some tasks are very cumbersome in tasks they are not designed for. [...]
Aug 27 2019
On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:If I want to be a pro programmer what language must I start with?If it's deep understanding you want, start with assembly language. Knowing how things are done down at that level—before all the layers of abstraction are added—will give you an edge over 99% of current coders. It's the same with basic computer use. Wanna be a true expert user? Get any version of Linux or one of the BSDs and restrict yourself to using just the terminal for about a month. You'll be amazed at how much you'll learn. It'll also give you a great foundation for understanding coding. And your typing skills will go through the roof.
Aug 27 2019
On Tuesday, 27 August 2019 at 14:51:07 UTC, Ron Tarrant wrote:On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:Thanks a lot. I want to have a deep understanding of programming. I will look into your adviceIf I want to be a pro programmer what language must I start with?If it's deep understanding you want, start with assembly language. Knowing how things are done down at that level—before all the layers of abstraction are added—will give you an edge over 99% of current coders. It's the same with basic computer use. Wanna be a true expert user? Get any version of Linux or one of the BSDs and restrict yourself to using just the terminal for about a month. You'll be amazed at how much you'll learn. It'll also give you a great foundation for understanding coding. And your typing skills will go through the roof.
Aug 27 2019
On Tue, Aug 27, 2019 at 04:01:03PM +0000, GreatSam4sure via Digitalmars-d-learn wrote:On Tuesday, 27 August 2019 at 14:51:07 UTC, Ron Tarrant wrote:To quote Knuth: People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird. -- D. Knuth Learning assembly language will give you an intrinsic understanding of what actually happens at the machine level, which will guide your high-level designs later. But caveat emptor: you don't want to get stuck in the "rut" of thinking in assembly language, because it can lead to missing the forest for the trees sometimes. So to balance that, you want to learn also a very high-level language that makes you think on a whole different level: I recommend Haskell or Lisp after you learn assembly language. They are very different from "mainstream" imperative languages, but they really strip away all the frills and lay bare the essentials of algorithms and computation. Even if you end up working mainly with an imperative language later, the experience of learning a functional language like Haskell or Lisp will help you think about algorithms in a much clearer and deeper way. You'll be able to identify patterns where others lose their way in details, and your code will be much better structured and maintainable.On Sunday, 25 August 2019 at 21:30:10 UTC, GreatSam4sure wrote:If I want to be a pro programmer what language must I start with?If it's deep understanding you want, start with assembly language. Knowing how things are done down at that level—before all the layers of abstraction are added—will give you an edge over 99% of current coders.[...] Only a month? :-D I've been doing exactly this for the last 20 years, and now I don't even dream of using a GUI anymore. The Unix command line is far more powerful and expressive, and I can get so much more done without wasting time switching my hand between the rodent and the keyboard. It forces me to learn command-line utilities that don't require ridiculous amounts of RAM and 40 seconds just to start up, and that has accelerated my productivity by orders of magnitude. On top of that, command-line programs are scriptable, meaning once I know how to use it, I don't ever have to use it again because I'd write a script to do it for me. No more aneurysm-inducing clicking through endless nested menus and carpal tunnel syndrome; it's automation FTW! Kill the rodent, and long live the keyboard! :-P T -- Public parking: euphemism for paid parking. -- FloraIt's the same with basic computer use. Wanna be a true expert user? Get any version of Linux or one of the BSDs and restrict yourself to using just the terminal for about a month.
Aug 27 2019
On Tuesday, 27 August 2019 at 16:32:08 UTC, H. S. Teoh wrote:[..] you want to learn also a very high-level language that makes you think on a whole different level: I recommend Haskell or Lisp after you learn assembly language.For Lisp, Clojure (https://clojure.org/) is a strong candidate: https://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html
Aug 27 2019
On Wed, 2019-08-28 at 04:46 +0000, Jani Hur via Digitalmars-d-learn wrote:=20[=E2=80=A6]For Lisp, Clojure (https://clojure.org/) is a strong candidate: =20 https://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.htmlCommon Lisp implementations may still have car, cdr, etc. for backward compatibility, but I haven't seen any human written/read Lisp code using th= em for ages. So that is a bit of a false argument by Bob on that one. Clojure = is fun, but only if you already have to have the JVM and The Java Platform. Common Lisp implementations have all the needful and do not have the resour= ce requirements of the JVM, and they have JITs. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk
Aug 28 2019