Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / NewStats: 3,151,582 members, 7,812,903 topics. Date: Monday, 29 April 2024 at 09:51 PM |
Nairaland Forum / Science/Technology / Programming / The Switch Statement Is Redundant (1284 Views)
Artificial Intelligence (AI) may Make Programmers Redundant / Validation Statement In Python / What Is Wrong With My SWITCH Statement(javascript) (2) (3) (4)
The Switch Statement Is Redundant by asalimpo(m): 2:34am On Dec 03, 2017 |
Ok. I know i'll get flamed for this. But just do a lil thinking on this first. Switch is cultural baggage that most new languages feel they have to support to not look odd. So the main impetus for perpetrating this feature is conformity. "Why doesnt this language have a switch statement " + puzzled look+ angry loook+ thinking thinking thinking Decision: dump the language!! Quick way to get your product ignored in the open minded world of programming is to be different. So much for programmers being logical and open minded. The better languages are dead in the dumps . Where is lisp haskell and others that were so well designed and ahead of their time? ok. back to the topic: a switch statement is just an if statement in disguise. You know this if you've been programming for a while. So why call it "switch" and spawn it off as a new concept entirely? y not expand the if function/structure whatever to do what "switch does"? That way the conceptual load will be lighter on the learner. By the same token, there's nothing like if-else, if-else-else2 etc. There's just one if. That's it. Most main stream languages are just poorly designed and these poor designs have been shovelled down our throats for so long that we think they're gospel. In many books, you're told that if is branching. Then, you're introduced to if. then more complex if-oxymoronic. There's only IF. ONLY ONE. at athe compiler execution level, there's only1! because, computers operate in only one of two states - it all resolves to either ON or OFF, 1 or 0,true or false. LEFT OR RIGHT. 2 Likes |
Re: The Switch Statement Is Redundant by FrankLampard: 8:18am On Dec 03, 2017 |
Logically a switch statement is faster than a nested if statement with many conditions. A switch statement is faster when you are constantly checking for constant values. |
Re: The Switch Statement Is Redundant by BlueMagnificent(m): 12:10pm On Dec 03, 2017 |
Don't forget that switch statements have fall-through if there is no break in the case of c/c++ . That comes in handy when u want to handle a condition and still want another block of code which is for another condition to run. Can't happen with if Cheers |
Re: The Switch Statement Is Redundant by 4dor: 12:21pm On Dec 03, 2017 |
Promises and Async/Await |
Re: The Switch Statement Is Redundant by asalimpo(m): 12:26pm On Dec 03, 2017 |
You're all saying the same thing. Computer scientists say all programs can be written with just branching ,iteration and one other construct. switch is conceptually, <condition> <executable> e.g look at this switch statement that checks numbers:
^ |_______ isnt that what a switch statement is trying to do?! but students learn only one if- not if that takes booleans,then if that takes non booleans aka switch statement. No conceptual fragmentation. |
Re: The Switch Statement Is Redundant by romme2u: 8:42pm On Dec 03, 2017 |
my brother the lord is your strength |
Re: The Switch Statement Is Redundant by AbiZeus: 12:05am On Dec 04, 2017 |
It's very useful when done properly... I.e Switch "j": Case " a": Afunc(x) Case "b": Bfunc(x) Default: Cfunc() Imagine aAfunc(y){ Switch y: Case " ai": Ayfunc(x) Case "yb": GBfunc(x) Default: Cfounc() } Think of how many if and else is Afunc, bFunc cFunc follow this paradigm... Take a look at Redux Methodology ..... Check our react redux or ngrx angular x with observables (my love)..... Then you will truely understand why some things are better like that.... Using switch with binary logic strategy will even make complex if and else , switch small and beautiful.... If you want to go further and prove never use else statement on If statements and return because if the If statement is true it still checks the else statements (I think in some languages) the solution to that is after executing the logic in the scope you return a value or null depending on the logical flow so that if no conditions are met you can handle that like a Switch fallthrough.... I.e func by(x){ if (x == 1) { dosomA(); return } if ( x == 2) { dosomeB() return } // no conditions met now handle the fallthrough throw error or dosomeC() // get the idea } So switch statement is not redundant.... |
Re: The Switch Statement Is Redundant by asalimpo(m): 12:28am On Dec 04, 2017 |
handle the fall through you say? just tack on a case that isnt matched. that's it. switch is syntactic sugar for if. nothing else. So whatever switch is doing is if underneath. Your talk of switch being less verbose is what i addressed earlier. switch is conceptually if. so the if syntax shold be expanded to handle non booleans.
Isnt this what a switch statement is doing? I've demonstrated that if can do the same, without rewording the syntax. NO unnecessary conceptual overload. The syntax and concepts are not splintered off unncessarily. The whole syntax is uniform and streamlined. When you're if'ing with booleans, you know you're doing so. when the condition variables isnt a boolean, no problem,he if statement is robust enough to handle that. You dont go the roundabout route using a disguised if ,called a 'switch' statement. |
Re: The Switch Statement Is Redundant by 4kings: 9:35am On Dec 05, 2017 |
Interesting... |
Re: The Switch Statement Is Redundant by Nobody: 12:21am On Dec 07, 2017 |
Personally, I avoid conditional statements when I can. As a rule, it is the first pattern I follow. I believe JS has try {} and python has the
Take this example: A man (interpreter/compiler) is always standing at the door. Waiting for orders. you come to the door, and ask for water, and it is available. Using conditions you: do you have water. man: yes you: get me a glass Using try you: get me water man: here you go. |
(1) (Reply)
Japan Based Nigerian Developer To Unveil Nigeria’s Messaging App / Django Vs Laravel / Forget Internet Scams: Young Nigerians Now Use Digital Tech For Good
(Go Up)
Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health religion celebs tv-movies music-radio literature webmasters programming techmarket Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 27 |